一、磁盘操作
1. ls命令
“ls”即 list 的缩写,通过 ls 命令可以查看 linux 目录下包含的文件,以及查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等。
常用参数:
-a 列出目录所有文件,包含以.开始的隐藏文件 -A 列出除.及..的其它文件 -r 反序排列 -t 以文件修改时间排序 -S 以文件大小排序 -h 以易读大小显示 -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
应用:
- 按大小反序显示文件详细信息
ls -lrS
- 列出当前目录中所有以”t”开头的目录的详细内容
ls -l t*
2. cd命令
“cd”为changeDirectory的缩写,即切换目录。
语法: cd [目录名]
应用:
- 进入根目录
cd /
- 进入根目录下的bin目录
cd /bin
3. pwd命令
pwd命令用于查看当前工作目录
语法: pwd
4. mkdir命令
mkdir命令用于创建目录
常用参数:
-m 对新建目录设置存取权限,也可以用 ”chmod“ 命令设置; -p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录
应用:
- 当前工作目录下创建名为abc的文件夹
mkdir abc
- 在 tmp 目录下创建路径为 a/b/c 的目录,若不存在,则创建
mkdir -p /tmp/a/b/c
5. rmdir命令
rmdir命令的作用是从一个目录中删除一个或多个子目录项,删除某目录时必须具有对其父目录的写权限。
常用参数:
-p 当前目录删除后若其父目录成为空目录,则将其父目录一起删除
应用:
- 在 aaa 目录下,删除名为 bbb 的子目录,若删除 bbb 后,aaa 成为空目录,则 将aaa 一并删除。
rmdir -p aaa/bbb
二、文件操作
1. cat命令
cat命令用于连接文件并打印到标准输出设备上
常用参数:
-n 或 –number:由 1 开始对所有输出的行数编号。 -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。 -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。 -v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 -E 或 –show-ends : 在每行结束处显示 $。 -T 或 –show-tabs: 将 TAB 字符显示为 ^I。 -A, –show-all:等价于 -vET。 -e:等价于”-vE”选项; -t:等价于”-vT”选项;
应用:
- 把 file1 的文档内容加上行号后输入 file2 这个文档里
cat -n file1 > file2
- 清空 /etc/file.txt 文档内容
cat /dev/null > /etc/file.txt
2. more命令
more 命令类似 cat ,不过会以一页一页的形式显示,更方便阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似) 。
常用参数:
-num: 一次显示的行数 -d: 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声 -l: 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 -f: 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p: 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c: 跟 -p 相似,不同的是先显示内容再清除其他旧资料 -s: 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u: 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) /pattern: 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 num :从第 num 行开始显示 fileNames: 欲显示内容的文档,可为复数个数
3. less命令
less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
常用参数:
-b: <缓冲区大小> 设置缓冲区的大小 -e: 当文件显示结束后,自动离开 -f :强迫打开特殊文件,例如外围设备代号、目录和二进制文件 **-g: **只标志最后搜索的关键词 -i: 忽略搜索时的大小写 -m: 显示类似more命令的百分比 -N: 显示每行的行号 -o: <文件名> 将less 输出的内容在指定文件中保存起来 -Q: 不使用警告音 -s: 显示连续空行为一行 -S: 行过长时间将超出部分舍弃 -x: <数字> 将”tab”键显示为规定的数字空格 /字符串:向下搜索”字符串”的功能 ?字符串:向上搜索”字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) 控制方法: b :向上翻一页 d :向后翻半页 h :显示帮助界面 Q :退出less 命令 u :向前滚动半页 y :向前滚动一行 空格键: 滚动一页 回车键: 滚动一行 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
4. chattr命令
chattr命令用于改变文件属性。
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
语法:
chattr [-RV][-v<版本编号>][ /-/=<属性>][文件或目录...]
常用参数:
-R: 递归处理,将指定目录下的所有文件及子目录一并处理。 -v: <版本编号> 设置文件或目录版本。 -V: 显示指令执行过程。 <属性>: 开启文件或目录的该项属性。 -<属性>: 关闭文件或目录的该项属性。 =<属性>: 指定文件或目录的该项属性。
5. mv命令
mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
常用参数:
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。 -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。 -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。 -n: 不要覆盖任何已存在的文件或目录。 -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
命令格式 | 含义 |
---|---|
mv source_file(源文件) dest_file(目标文件) | 将源文件名 source_file 改为目标文件名 dest_file |
mv source_file(源文件) dest_directory(目标目录) | 将源文件 source_file 移动到目标目录 dest_directory 中 |
mv source_directory(源目录) dest_directory(目标目录) | 若目标目录 dest_directory 已存在,将 source_directory 移动到目标目录 dest_directory 中;若目标目录 dest_directory 不存在则将源目录名 source_directory 改名为目标目录名 dest_directory |
应用:
- 将文件 aaa 改名为 bbb
mv aaa bbb
- 将 aaa目录放入 bbb 目录中。如果 bbb目录不存在,则该命令将 aaa改名为 bbb
mv aaa/ bbb
6. rm命令
”rm“是remove的缩写,作用是删除一个目录中的一个或多个文件或目录。
常用参数:
-f 强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。 -i 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。 -r 递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。 -d 用于删除目录
应用:
- 删除任何 .log 文件,删除前逐一询问确认
rm -i *.log
- 强制删除 abc 子目录及子目录中所有档案删除,删除前不询问
rm -rf abc
7. cp命令
cp(英文:copy file)命令主要用于复制文件或目录。
常用参数:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。 -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。 -f:覆盖已经存在的目标文件而不给出提示。 -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。 -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 -l:不复制文件,只是生成链接文件。
应用:
- 将目录 根目录下的aaa目录下的所有文件复制/root目录bbb下
cp –r /aaa/ /root/bbb
三、压缩 / 解压缩操作
1. tar命令
tar(英文全拼:tape archive )命令用于备份文件,tar 是用来建立,还原压缩文件的工具程序,它可以加入,解压压缩文件内的文件。
常用参数:
-A: 新增文件到已存在的备份文件。 -c: 建立新的备份文件。 -C<目的目录>: 切换到指定的目录。 -d: 对比备份文件内和文件系统上的文件的差异。 -f<备份文件>: 指定备份文件。 -h: 不建立符号连接,直接复制该连接所指向的原始文件。 -k: 解开备份文件时,不覆盖已有的文件。 -l: 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。 -m: 还原文件时,不变更文件的更改时间。 -p: 用原来的文件权限还原文件。 -P: 文件名使用绝对名称,不移除文件名称前的”/“号。 -r: 新增文件到已存在的备份文件的结尾部分。 -t: 列出备份文件的内容。 -v: 显示指令执行过程。 -w: 遭遇问题时先询问用户。 -W: 写入备份文件后,确认文件正确无误。 -x: 从备份文件中还原文件。 -z: 通过gzip指令处理备份文件。 -Z: 通过compress指令处理备份文件。
应用:
- 压缩aaa.file文件为aaa.tar.gz
tar -zcvf aaa.tar.gz aaa.file
- 列出压缩文件aaa.tar.gz中的内容
tar -tzvf aaa.tar.gz
- 解压aaa.tar.gz文件
tar -zxvf aaa.tar.gz
2. zip命令
zip 命令用于压缩文件,压缩后的文件后缀名为 .zip
常用参数:
-A: 调整可执行的自动解压缩文件。 -b<工作目录>: 指定暂时存放文件的目录。 -c: 替每个被压缩的文件加上注释。 -d: 从压缩文件内删除指定的文件。 -D: 压缩文件内不建立目录名称。 -f: 更新现有的文件。 -F: 尝试修复已损坏的压缩文件。 -g: 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。 -i<范本样式>: 只压缩符合条件的文件。 -j: 只保存文件名称及其内容,而不存放任何目录名称。 -J: 删除压缩文件前面不必要的数据。 -m: 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 -n<字尾字符串>: 不压缩具有特定字尾字符串的文件。 -o: 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。 -q: 不显示指令执行过程。 -r: 递归处理,将指定目录下的所有文件和子目录一并处理。 -T: 检查备份文件内的每个文件是否正确无误。 -u: 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 -v: 显示指令执行过程或显示版本信息。 -x<范本样式>: 压缩时排除符合条件的文件。 -X: 不保存额外的文件属性。 -z: 替压缩文件加上注释。
应用:
- 将 /root/aaa/ 这个目录下所有文件和文件夹打包为当前目录下的 aaa.zip
zip -q -r aaa.zip /root/aaa
- 从压缩文件 aaa.zip 中删除文件 aaa.file
zip -dv aaa.zip aaa.file
3. unzip命令
unzip命令用于解压缩zip文件,unzip是.zip压缩文件的解压缩程序。
常用参数:
-c: 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 -f: 更新现有的文件。 -l: 显示压缩文件内所包含的文件。 -p: 与**-c**参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 -t: 检查压缩文件是否正确。 -u: 与**-f**参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 -v: 执行时显示详细的信息。 -z: 仅显示压缩文件的备注文字。 -a: 对文本文件进行必要的字符转换。 -b: 不要对文本文件进行字符转换。 -C: 压缩文件中的文件名称区分大小写。 -j: 不处理压缩文件中原有的目录路径。 -L: 将压缩文件中的全部文件名改为小写。 -n: 解压缩时不要覆盖原有的文件。 -o: 不必先询问用户,unzip执行后覆盖原有文件。 -P<密码>: 使用zip的密码选项。 -q: 执行时不显示任何信息。 -s: 将文件名中的空白字符转换为底线字符。 -d<目录>: 指定文件解压缩后所要存储的目录。 -x<文件>: 指定不要处理.zip压缩文件中的哪些文件。