Linux文件操作命令
文件内容操作命令
1、cat -n 文件名 : //查看文件中的内容,加上-n显示行号
2、more 文件名 和 less文件名 : //进入阅读模式,采用全屏的方式分页显示文件内容,当内容满屏时便会暂停,按空格键继续显示下一页或按Q键退出,适合阅读长文件。建议使用less
3、head命令和 tail命令 : //显示文件开头和结尾(默认10行,自定义- 3或者其它) -n显示行号,“-f”选项,可以用于被跟踪日志文件末尾的内容变化,实时显示更新的日志内容。
4、wc 文件路径文件名 //文件内容统计(统计指定文件中的行数、单词数和字节数。)
5、echo 文件名 //输出指定内容(指定的字符串或者变量的值)
5、grep [选项] 查找条件 目标文件 //文件内容查找
(2)“-v”选项,反转查找、输出与查找条件不相符的行。
(3)“-i”选项,不区分大小写。
(4)“-w”选项,精确匹配单词。
6、diff 文件名 另一个文件名 //文件内容对比(对比多个文本文件之间的差异)
12a13
>c/d /tmp”表示文件2比文件1 追加了13行,内容为:“c/d tmp”。
文件和目录管理
7、pwd //当前所在路径
8、ls 文件路径 //查看目录下都有什么内容
(1)-a 显示所有文件,包括隐藏文件
(2)-l 选项,以长格式显示文件或目录的详细信息。
(3)-d 选项,显示目录本身的树形,而非内部的文件列表。
(4)-lh 选项 人性化显示容量信息。
9、touch 文件名 //用于创建空文件或修改已有文件的时间戳。
10、mkdir [选项]目录名 //创建目录 -p 通过该选项可以创建嵌套的多级目录结构。
11、rmdir [选项] 目录名 //删除空目录 -p 删除多级目录.
12、cp [选项] 源文件或目录 目标文件或目录 //复制文件或目录
(1)若目标文件不存在,将生成新的文件。
(2)如果目标文件已存在,那么将覆盖目标文件。
(3)如果目标文件是个目录,那么将在这个目录中创建一个与源文件同名的文件
cp的常用选项如下:
(1)“-r”选项,复制目录时必须用此项,表示递归复制所有文件及子目录。
(2)“-p”选项,复制时保留源文件的属性不变。
13、mv [选项] 源文件目录 目标文件目录 // 若第二个参数中的目标是一个目录,则mv命令会将源文件移动到该目录中;若第二个参数中的目标是一个文件,则mv命令将对源文件进行重命名
“-r”选项,可以直接移动。
14、rm [选项] 文件名或目录 //删除文件或目录
(1)“-f”选项,强制删除,无须用户确认。
(2)“-r”选项,删除目录时必须使用此选项,表示递归删除整个目录。一般删除目录时候会将“-r”和“-f”一起使用,以避免用户交互的麻烦。
但是注意“-rf”删除功能太强大,应谨慎使用。
通配符和扩展符
1、通配符
(1)*:可以匹配任意数量的任意符号。
(2)?:可以在相应位置上匹配任意个单个字符。
(3)[ ]:可以匹配指定范围内的任意单个字符。“[ ]”中的字符范围可以是几个字符的列表,如“[a,b,c]”表示a,b,c任意一个字符。“[ ]”中 的字符也可以是使用“-”给定的一个取值范围。如“[a-z]”表示任意一个小写字母,“[0-9]”表示任意一个数字。
2、扩展符
扩展符({})中可以包含一个以逗号分隔的列表,并将其自动展开为多个路径或文件名。比如“/tmp{a,b}”相当于“/tmp/a”和“/tmp/b”
“{}”中还可以使用“..”表示一个连续的空间,比如“{1..5}”就相当于“{1,2,3,4,5}”。“{a..e}”就相当于“{a,b,c,d,e}”
日期和时间相关的命令
15、date命令 // 显示或修改日期和时间(直接执行date命令将按照系统默认的格式显示日期和时间)
16、hwclock命令 //显示硬件时钟,显示或修改硬件时钟
hwclock -w #将系统时钟写入硬件时钟。
hwclock -s #将硬件时钟写入系统时钟。
17、stat命令 // 查看文件的元数据
stat命令所显示的最后3行称为文件的时间戳,其中包括以下3种。
最近访问时间:查看、读取文件内容的时间。
最近更改时间:文件内容改变的时间。
最近改动时间:文件元数据改变的时间。
文件查找命令
18、locate命令 //(实现模糊查找,速度快,无须指定查找起始路径)
19、find [查找路径] [选项] [查找条件] [处理动作] // 查找功能强大,可以实现精确查找,用法相对复杂
查找条件的设置:
(1)“-name”选项,按名称查找,允许使用通配符。
(2)“-iname”选项,按名称查找,不区分大小写。
(3)“-empty”选项,查找空文件或目录
(4)“-type”选项,按文件类型查找。普通文件(f)、目录(d)、符号链接文件(l)、块设备(b)和字符设备文件(c)等。
(5)“-size”选项,按文件大小查找
(6)“-not”选项,取反
(7)按时间戳查找:以天为单位,相应的选项分别为-atime(访问时间)、-mtime(更改时间)、-ctime(改动时间);以分钟为单位,相应的选项分别为-amin(访问时间)、-mmin(更改时间)、-cmin(改动时间)。同“-size”选项一样,也可以使用“+”“-”号对时间进行设置。如:# find /tmp -atime +7 -type f
(8)“-exec”选项,对查找到的结果进行进一步处理。“-exec”选项后面要跟上进一步处理所需要执行的命令,在命令中可以使用{}表示find命令查找到的结果,而且最后必须添加“ \;”表示命令结束。
如:查找/boot目录下的以“init”开头的文件,并将其复制到/tmp目录。
#find /boot -name “init*” -exec cp {} /tmp \;
(9)同时指定多个查找条件
(10)xrags命令格式为“find...|xargs commands”。
如:#mkdir /tmp/pass
#echo “password:123” >> /tmp/pass/test.txt
#find /tmp -type f | xargs grep “password”
内部命令和外部命令
20、type命令 // 判断内部命令还是外部命令
如#type cd 提示“cd是shell内嵌”,从而判断cd是内部命令
#type find 会显示“find 是 /usr/bin/find”,显示find命令所对应的程序文件路径。表明find是一个外部命令
21、which命令 // 查找外部命令所对应的程序文件
其他辅助命令
22、ln命令 // 为文件或目录建立链接
格式:ln [选项] 源文件 目标文件
在创建软链接时候,要使用“-s”选项。
23、alias命令 //设置命令别名(对于经常用到的命令,可以设置别名简化操作,提高工作效率)
alias [别名=’标准Shell命令行’]
24、history命令 // 查看命令历史记录
(1)指定所要查看的历史命令范围。如:#history 3 就是要列出最近执行过的3条历史命令。
(2)重新执行某条历史命令:#history !16 把第16条命令重新执行一遍。
(3)删除指定的历史命令:#history -d 16 删除第16条历史命令
(4)删除缓存中的历史命令:“-c”选项可以删除当前缓存中所有的历史命令。
(5)将缓存中的历史命令保存到文件中:执行“history-w”命令可以将缓存中的历史命令保存到“.bash_history”文件中。
(6)将文件中的历史命令读取到缓存中:执行“history-r”命令可以将“.bash_history”文件中的历史命令读取到缓存中。
25、help命令 // 查看命令帮助信息 例如:ls --help
26、man命令 //查看命令帮助手册(提供比较详尽的帮助信息,可以查看内部和外部命令信息)
重定向和管道命令
1、标准输出重定向(使用“>”和“>>”操作符,分别用于覆盖、追加文件内容)
2、标准输入重定向,输入重定向就是将命令接收输入的途径由默认的键盘重定向为指定的文件,输入重定向需要使用“<”.例如:通过输入重定向查看/etc/passwd文件的内容。
#cat < /etc/passwd
3、标准错误重定向,标准错误重定向就是将命令执行过程中出现的错误信息重新定向保存到指定文件中,而不是显示在屏幕上。符号为“2>”。等。
4、管道操作
通过管道操作符“|”可以把多个简单的命令连起来实现负责的功能。
“|”用于连接左右命令,将符号左边的命令执行结果作为右边命令的输入。
例如:查看/etc/ssh/sshd_config 文件中除了以“#”开头的行和空行中的空格。
#grep -v “^#” /etc/ssh/sshd_config | grep -v “^$”