linux之我常用的20条命令(之二)

file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了。

  1. > file rumenz.txt #查看rumenz.txt的文件类型
  2. rumenz.txt: ASCII text
  3. > file /usr/bin/ls #查看命令ls的文件类型
  4. /usr/bin/ls: ELF 64-bit LSB executable
  5. > file -i rumenz.txt #查看文件rumenz.txt的MiME类型
  6. rumenz.txt: text/plain; charset=us-ascii
  7. > file -z redis-5.0.8.tar.gz #尝试去解读压缩文件的内容
  8. redis-5.0.8.tar.gz: POSIX tar archive

tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。

  • -c 新建tar包,create的缩写
  • -t 查看打包(tar)文件的文件
  • -x解tar包或者解压缩(tar.gz),可以搭配-C(大写)指定解压的目录,extract的缩写
  • -j通过bzip2压缩或者解压
  • -J通过xz压缩或者解压
  • -z通过gzip压缩或者解压
  • -v显示执行过程。verbose的缩写
  • -f filename :filename为要处理的文件
  • -C 指定压缩,解压的目录
  1. --- tar
  2. > tar -cvf rumenz.tar rumenz.txt. #将rumenz.txt打包成rumenz.tar,默认不压缩
  3. > tar -xvf rumenz.tar #解包到当前目录
  4. > tar -xvf rumenz.tar -C /tmp #解包到tmp目录
  5. --- tar.gz
  6. > tar -czvf rumenz.tar.gz rumenz.txt #将rumenz.txt压缩成rumenz.tar.gz
  7. > tar -xzvf rumenz.tar.gz #解压rumenz.tar.gz到当前目录
  8. > tar -xzvf rumenz.tar.gz -C /tmp #解压rumenz.tar.gz到tmp目录
  9. > tar -xzvf rumenz.tar.gz rumenz.txt #只解压rumenz.txt文件
  10. --- tar.bz2
  11. > tar -cjvf rumenz.tar.bz2 rumenz.txt #将rumenz.txt压缩成rumenz.tar.bz2
  12. > tar -xjvf rumenz.tar.bz2 #解压rumenz.tar.bz2到当前目录
  13. > tar -xjvf rumenz.tar.bz2 -C /tmp #解压rumenz.tar.bz2到tmp目录
  14. > tar -xjvf rumenz.tar.bz2 rumenz.txt #只解压rumenz.txt文件
  15. ---tar.xz
  16. > tar -cJvf rumenz.tar.xz rumenz.txt #将rumenz.txt压缩成rumenz.tar.xz
  17. > tar -xJvf rumenz.tar.xz #将rumenz.tar.xz解压到当前目录
  18. > tar -xJvf ruemnz.tar.gz -C /tmp #将rumenz.tar.xz解压到tmp目录
  19. > tar -xJvf rumenz.tar.xz rumenz.txt #只解压rumenz.txt文件

cat命令

该命令用于查看文本文件的内容,后接要查看的文件名,通常会和more和less一起使用

  1. > cat rumenz.txt #查看rumenz.txt的文件内容
  2. > cat rumenz.txt | more #文件内容较多时,可以通过more分页查看

利用cat向文件中添加内容cat >

  1. > cat > rumenz.sh << EOF
  2. > 123
  3. > 345
  4. > rumenz.com
  5. > EOF
  • EOFend of file的意思

利用cat向文件中追加内容,cat >>

  1. > cat >> rumenz.sh << EOF
  2. > 111
  3. > 222
  4. > EOF

chgrp命令

该命令用于改变文件所属用户组

  1. > chgrp rumenz rumenz.txt #将rumenz.txt文件的所属组改成rumenz
  2. > chgrp rumenz -R ./tmp #递归的把tmp目录下所有文件(包含目录)的所属组改成rumenz

chown命令

修改文件的所有者和所属组

  1. > chown rumenz:rumenz rumenz.txt #将rumenz.txt的所有者和所属组改成rumenz,rumenz
  2. > chown -R rumenz:rumenz rumenz/ #将rumenz目录下所有的文件(包括目录)的所有者和所属组改成rumenz,rumenz
  3. > chown rumenz rumenz.txt #将rumenz.txt的所有者改成rumenz
  4. > chown :rumenz rumenz.txt #将rumenz.txt的所属组改成rumenz

chmod命令

命令用于改变文件的权限,chmod可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。

数字权限分为三种:读(r=4),写(w=2),执行(x=1)

  1. > chmod a+r rumenz.txt #给rumenz.txt的所有用户增加读权限
  2. > chmod a-x rumenz.txt #删除rumenz.txt的所有用户的执行权限
  3. > chmod a+rw rumenz.txt #给rumenz.txt的所有用户增加读写权限
  4. > chmod +rwx rumenz.txt #给rumenz.txt的所有用户增加读写执行权限
  5. > chmod +x rumenz.sh #给rumenz.sh增加可执行权限
  6. > chmod -R a+r rumenz/ #给rumenz目录下所有文件(包含目录)增加读权限
  7. > chmod -R a-x rumenz/ #删除rumenz目录下所有文件(包含目录)的执行权限
  8. > chmod 755 rumenz.txt #相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)。
  9. > chmod u=rwx,go=rx rumenz.txt #和上一条等价

vim命令

  • i 插入到光标前面
  • I 插入到行的开始位置
  • a 插入到光标的后面
  • A 插入到行的最后位置
  • o, O 新开一行
  • Esc 关闭插入模式
  • :w 保存
  • :wq, :x 保存并关闭
  • :q 关闭(已保存)
  • :q! 强制关闭
  • /string 搜索string字符串,如果要忽略大小写set ic
  • n 搜索指定字符串出现的下一个位置
  • :%s/old/new/g 全文替换指定字符串old—->new
  • :n1,n2s/old/new/g 在一定范围内替换,n1,n2表示行数
  • dd 删除一行
  • dw 删除一个单词
  • x 删除后一个字符
  • X 删除前一个字符
  • D 删除一行最后一个字符
  • [N]yy 复制一行或者N行
  • yw 复制一个单词
  • p 粘贴

top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

输入top命令后常用的快捷键

  1. d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
  2. p 通过指定监控进程ID来仅仅监控某个进程的状态。
  3. q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
  4. S 指定累计模式
  5. s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
  6. i 使top不显示任何闲置或者僵死进程。
  7. c 显示整个命令行而不只是显示命令名
  8. m 切换显示内存信息。
  9. t 切换显示进程和CPU状态信息。
  10. c 切换显示命令名称和完整命令行。
  11. M 根据驻留内存大小进行排序。
  12. P 根据CPU使用百分比大小进行排序。
  13. T 根据时间/累计时间进行排序。
  14. q 退出程序。
  1. > top -p pid # 显示指定的进程信息
  2. > top -Hp pid # 显示pid进程下的所有线程的资源使用情况

time命令

测算一个命令(即程序)的执行时间

  1. > time ls #统计ls的执行时间
  2. real 0m0.004s
  3. user 0m0.001s
  4. sys 0m0.001s

返回笔记列表
入门小站