文本文件编辑命令
cat命令
用于查看纯文本文件(内容比较少的),格式为cat [选项] [文件]
cat -n initial-setup-ks.cfg 查看initial-setup-ks.cfg文件的内容并显示行数
more命令
用于查看纯文本文件(内容比较多的),以百分比的形式提示阅读多少内容,格式为more [选项] 文件
more initial-setup-ks.cfg 查看initial-setup-ks.cfg文件的内容,以百分比形式显示
head命令
用于查看纯文本文档的前N行,格式为 head [选项] [文件]
head -n 20 initial-setup-ks.cfg 查看initial-setup-ks.cfg文件的前20行
tail命令
用于查看纯文本文档的后N行或持续刷新内容,格式为tail [选项] [文件]
tail -n 10 文件名 查看文件的后10行
tail -f /var/log/messages 实时查看最新日志文件
tr命令
用于替换文本文件中的字符,格式为tr [原始字符] [目标字符]
cat anaconda-ks.cfg | tr [a-z] [A-Z] 读取anaconda-ks.cfg文件,通过管道符把内容传递给tr命令进替换操作
wc命令
用于统计指定文本的行数、字数、字节数,格式为wc [参数]文本
wc -l /etc/passwd 统计passwd文本的行数
wc-w /etc/passwd 统计passwd文本的单词书
wc -c /etc/passwd 统计passwd文本的字节数
stat命令
用于查看文件的具体存储信息和时间等信息,格式为stat 文件名称。
stat anaconda-ks.cfg 查看anaconda-ks.cfg文件的存储信息和时间信息
cut命令
用于按列提取文本字符,格式为cut [参数] 文本
cut -d: -f1 /etc/passwd 提取passwd文件所有用户名称,以冒号:为间隔符的第一列内容。-d: 以冒号为间隔 -f1 需要看的列数,其中':'和'1'可按实际需要设置
cut -d: -f 1,3 /etc/passwd 提取第1列和第三列
diff命令
用于比较多个文本文件的差异,格式为diff [参数] 文件
diff --brief a.txt b.txt 比较a和b两个文件是否相同
diff -c a.txt b.txt 描述两个文件内容具体的不同
uniq命令
去除重复的行数
uniq haha.txt 去除haha.txt文件中相邻的重复项
sort hoho.txt 可以先进行排序再去重(默认按a-z的首字母排序)
sort hoho.txt | uniq
sore -n hehe.txt | uniq 以数字的形式进行排序再去重(如果按照首字母排序是无法比较大小)
sort -t : -k 3 -n /etc/passwd -t : 以:为间隔符,-k 3 要提取第3列的信息,然后按照数字大小进行排序显示文件内容
/etc/passwd中保存着所有用户的信息,按:间隔的话,第一行是用户名称,第二行x代表密码,第三个代表id唯一的标识。
文件目录管理命令
文件的创建、修改、复制、剪切、更名与删除等操作
touch命令
用于创建空白文件或设置文件的时间,格式为touch [选项] [文件]
ls -l anaconda-ks.cfg 先用ls -l命令来查看文件的详细信息
echo "Start learn Linux" >> anaconda-ks.cfg 将echo输出的信息内容追加到anaconda-ks.cfg文件内容后面
ls -l anaconda-ks.cfg 再次用ls -l命令发现文件修改时间已经改变了
touch -d "2021-07-10 10:20" anaconda-ks.cfg 同时修改"读取时间和修改时间"
ls -l anaconda-ks.cfg 最后用ls-l命令发现文件最后的修改时间已经改变
mkdir命令
用于创建空白的目录,格式为mkdir [选项] 目录
mkdir linuxprobe 创建名为linuxprobe的目录
cd linuxprobe 进去到linuxprobe目录
mkdir -p a/b/c/d/e 递归创建出具有嵌套叠层关系的文件目录
cp命令
用于复制文件或目录,格式为cp [选项] 源文件 目标文件
touch c.txt 创建c.txt文件
cp c.txt d.txt 复制c.txt文件并命名为d.txt文件
ls 查看目录会发现有c,d两个txt文件
cp -r 原目录 目标目录 -r用来复制目录
mv命令
用于剪切文件或将文件重命名,格式为mv [选项] 源文件 [目标路径 | 目标名称]
在同一个目录下使用mv命令剪切到当前文件夹就是重命名
mv d.txt linux.txt 将d文件剪切成linux文件,此时d文件会被删除
rm命令
用于删除文件或目录,格式为rm [选项] 文件
rm c.txt 删除c文件,会有提示是否删除
rm -f linux.txt 强制删除linux文件,直接删除不会提示
ls
rm -rf Desktop 强制删除一个目录
rm -rf / --no-preserve-root 删除系统中所有的文件
dd命令
用于按照指定大小和个数的数据块来复制文件或转换文件,格式为dd [参数]
dd -if=输入文件夹的名称 of=输出文件夹的名称 count=设置要复制块的个数 bs=设置每个块的大小
dd -if=/dev/zero of=560_file bs=560M count=1 可以判断硬盘读取的速度
file命令
用于查看文件的类型,格式为file 文件名
file anaconda-ks.cfg 查看anaconda-ks.cfg的文件类型
file /dev/sda 查看sda的文件类型
打包压缩与搜索命令
tar命令
用于对文件进行打包压缩或解压,格式为tar [选项] [文件]
tar -czvf etc.tar.gz /etc 将etc文件打包成etc.tar.gz的压缩文件。-c创建压缩文件,-z用Gzip压缩或解压,-v显示压缩或解压过程,-f目标文件名,f必须放在最后,其他参数可以随意位置
tar -xzvf etc.tar.gz -C /root/etc 解压文件,后面大C指定解压的目录
grep命令
用于在文本中执行关键词搜索,并显示匹配的结果,格式为grep [选项] [文件],按行提取文件
grep oo initial-setup-ks.cfg 显示关键词oo的所有行
grep -n oo initial-setup-ks.cfg 显示文件中哪些行带有关键字oo的,行号会以数字显示在首
grep -v oo initial-setup-ks.cfg -v代表反选,显示文件中不带oo的行
find命令
用于按照 指定条件来查找文件,格式为find [查找路径] 寻找条件 操作
find /etc -name "host*" -print 找到/etc目录下所有名称前4位为host的文件
find / -perm -4000 -print 整个系统中搜索SUID权限的所有文件
find / -user linuxprobe -exec cp -a {} /root/findresults/ \; 搜索属于linuxprobe用的的文件并复制到/root/findresults目录 ,- exec 命令 {}\; 这个参数用于进一步处理搜索结果