Linux常用命令

从事开发的程序员难免不会接触到Linux,那么涉及到基础的Linux使用,无外乎一些基本的命令使用,当然,从事专业Linux操作的人们就另当别论了。本身Linux命令也是非常多的,但我们也没有必要刻意去进行记忆,只需要在日常的工作过程中多积累,多使用便能达到一个很好的使用、记忆效果。此文也是博主在过程中所用到的一些基本命令,在此作以备注,持续更新,希望有兴趣的小伙伴们有问题的话可以留言共同学习讨论。

下面是博主在网络资源上找到的比较好用的资源,在线查询Linux命令详解:https://man.linuxde.net/

目录

一、Linux命令常用结构

二、系统信息

三、系统性能

四、文件和目录

五、文件权限

六、文件查找

七、查看文件内容

八、文本内容处理

九、用户权限

十、磁盘信息

十一、压缩、解压、打包、备份


                                         Linux命令区分大小写


一、Linux命令常用结构

Command:即是要运行的命令的本身,说白了就是一个软件(程序);
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择,在非第一部分按[tab]键两下为[文件补全];

二、系统信息

  1. who am i :查看当前使用的终端
  2. cat /proc/version :查看linux版本信息
  3. uname -r :显示正在使用的内核版本
  4. lsb_release -a :查看系统发行版本(如CentOS7)
  5. date :显示系统日期 (date +%Y/%m/%d : 显示效果如2018/01/01)
  6. clock -w :将时间修改保存到 BIOS
  7. cal 2019 :显示2018年的日历表
  8. clear :清空命令行
  9. ifconfig :显示或设置网卡(查ip等)(类似windows中ipconfig)
  10. cat /proc/cpuinfo :显示CPU的信息
  11. cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU个数
  12. cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每个物理CPU的核数
  13. cat /proc/cpuinfo| grep "processor"| wc -l :查看逻辑CPU个数即线程数

三、系统性能

  1. top :动态实时显示cpu、内存、进程等使用情况(类似windows下的任务管理器)
  2. top -d 2 -p 9999 :-d为画面更新的秒数,默认5秒,-p为指定进程pid的信息(进程号)
  3. free -h :查看系统内存及虚拟内存使用情况
  4. free -m 以MB为单位显示内存使情况(-g  以GB为单位)
  5. df -h :显示磁盘的空间使用情况
  6. sar -u 3 5 :查看cpu使用情况(3秒一次,共5次)
  7. ps aux|grep firefox :获取火狐的进程号(PID)(可查看进程占用cpu、内存百分比及进程触发指令的路径)
  8. kill -9 9999(进程号 ):强制杀死进程
  9. systemctl :查看正在运行的服务

四、文件和目录

  1. cd:用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]
  2. cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
  3. cd .. :返回上一级目录(注意要空格)
  4. cd - :返回上次所在目录
  5. cd / :返回根目录 (绝对路径)
  6. cd ./目录1/目录2 :进入当前目录下的子目录(相对路径)
  7. ​ls:是List的缩写,用于列出目录下的文件,语法:ls [选项][目录或文件名]
  8. ls -a :列出文件下所有的文件,包括以“.“开头的隐藏文件
  9. ls -lh  *.log** :列出文件的详细信息(.log结尾,*为通配符,代表任意多个字符)
  10. pwd:显示当前的工作路径
  11. file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)
  12. mkdir dir1 :创建目录(dir1)
  13. mkdir -p ./dir1/dir2 :递归创建目录(-p:父目录不存在时,同时建立)
  14. touch a.txt :创建文件a.txt
  15. rm:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉; 语法:rm (选项)(参数)(注:如果参数中含有目录,则必须加上-r选项);
  16. rm -r 目录或文件 :删除目录(及目录下所有文件)(非空也可以)
  17. rm -rf 目录或文件 :强制删除,如:rm -rf * 为删除当前目录下所有文件
  18. mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名
  19. find  . -name "*.txt" -o -name ".pdf" 当前目录及子目录下查找所有以.txt和.pdf结尾的文件
  20. find /hoem -name "*.txt"在/home目录下查找以.txt结尾的文件名(find  /hoem -iname "*.txt" 忽略大小写)
  21. ln -s /opt/a.txt /opt/git/ :对文件创建软链接(快捷方式不改名还是a.txt)
  22. ln -s /opt/a.txt /opt/git/b :(快捷方式改名为b)(下面的一样可以改名)
  23. ln -s /opt/mulu /opt/git/ :对目录创建软链接
  24. ln /opt/a.txt /opt/git/ :对文件创建硬链接

五、文件权限

  1. chmod [-R] 777文件或目录 :设置权限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

    ​注: r(read)对应4,w(write)对应2,x(execute)执行对应1;

    -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改)

  2. chmod [{ugoa}{+-=}{rwx}][文件或目录] 如chmod u-w,g+x,o=r test.txt  为user(拥有者)去掉写权限,group(所属组)加上执行权限,other(其他人)权限等于只读;
  3. chown [-R] admin:root /opt/ :变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹,admin为拥有者,root为所属者)

六、文件查找

  1. find /home -mtime -2 :在/home下查最近2*24小时内改动过的文件
  2. find . -size +100M :在当前目录及子目录下查找大于100M的文件
  3. find . -type f :f表示文件类型为普通文件(b/d/c/p/l/f 分别为块设备、目录、字符设备、管道、符号链接、普通文件)
  4. find . -mtime +2 -exec rm {} ; :查出更改时间在2*24小时以前的文件并删除它**
  5. find . -name '*.log' -exec grep -i hello {} \; -print :在当前目录及子目录下查出文件名后缀为.log的文件并且该文件内容包含了hello字样并打印,-exec 命令 {} \表示对查出文件操作,-i表示不区分大小写;
  6. find . -name '*.log'|grep hello :在当前目录及子目录下查出文件名后缀为.log的文件并且文件名包含了hello字样(grep用来处理字符串);

  7. grep -i 'HELLO' . -r -n :在当前目录及子目录下查找文件内容中包含hello的文件并显示文件路径(-i表示忽略大小写)

  8. which java :在环境变量$PATH设置的目录里查找符合条件的文件,并显示路径(查询运行文件所在路径)
  9. whereis java :查看安装的软件的所有的文件路径(whereis 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)

七、查看文件内容

  1. cat [-n] 文件名 :显示文件内容,连行号一起显示

  2. less 文件名 :一页一页的显示文件内容

  3. head [-n] 文件名 :显示文件头n行内容,n指定显示多少行

  4. tail [-nf] 文件名:显示文件尾几行内容,n指定显示多少行,f用于实时追踪文件的所有更新,常用于查阅正在改变的日志文件(如tail -f -n 3 a.log 表示开始显示最后3行,并在文件更新时实时追加显示,没有-n默认10行)

  5. sed -n '2,$p' ab :显示第二行到最后一行;
  6. sed -n '/搜索的关键词/p' a.txt :显示包括关键词所在行
  7. cat filename |grep abc -A10 :查看filename中含有abc所在行后10行(A10)、前10行(B10)内容
  8. less a.txt|grep git :显示关键词所在行,管道符”|”它只能处理由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后传递给下一个命令,作为标准的输入;

  9. cat /etc/passwd |awk -F ':' '{print $1}' :显示第一列

八、文本内容处理

  1. ls -l>file :输出重定向>(改变原来系统命令的默认执行方式):ls -l命令结果输出到file文件中,若存在,则覆盖
  2. cat file1 >>file2 :输出重定向之cat命令结果输出追加到file2文件(>表示覆盖原文件内容,>>表示追加内容)
  3. sed -i '4,$d' a.txt :删除第四行到最后一行($表示最后一行)(sed可以增删改查文件内容)
  4. sed -i '$a 增加的字符串' a.txt :在最后一行的下一行增加字符串
  5. sed -i 's/old/new/g' a.txt :替换字符串;格式为sed 's/要替换的字符串/新的字符串/g' 修改的文件

九、用户权限

  1. su - 用户名:完整的切换到一个用户环境(相当于登录)(建议用这个)(退出用户:exit)

十、磁盘信息

  1. df -h :显示磁盘的空间使用情况 及挂载点
  2. df -h /var/log :(显示log所在分区(挂载点)、目录所在磁盘及可用的磁盘容量)

  3. du -sm /var/log/* | sort -rn : 根据占用磁盘空间大小排序(MB)某目录下文件和目录大小

十一、压缩、解压、打包、备份

​ 单纯tar仅为打包(多个文件包成一个大文件),加上参数-j(bzip2格式.bz2)、-z(gzip格式.gz)可以备份、压缩(-c)、解压(-x),备份一般比压缩多加参数-p(保留原本文件的权限与属性),-C可以指定解压到特定目录;bzip2、gzip只能对单一文件压缩;

  1. file 文件名 :查文件类型(可看是用哪一种方式压缩的)

  2. tar -zxvf a.tar.gz -C ./test :解压tar.gz到当前目录下的test目录
  3. tar -zcvf /opt/c.tar.gz ./a/ :压缩tar.gz(把当前目录下的a目录及目录下所有文件压缩为 /opt/目录下的c.tar.gz,这样tar -zxvf c.tar.gz解压出来带有目录a)

  4. tar -jxvf a.tar.bz2 :解压tar.bz2(到当前目录)
  5. tar -jcvf c.tar.bz2 ./a/ :压缩tar.bz2(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.tar.gz2)

  6. unzip a.zip :解压zip(到当前目录)
  7. unzip -o mdmtest.war -d /opt/mdm :推荐使用unzip解压war包(-o覆盖原有文件,-d指定文件解压后存储的目录)
  8. zip -r c.zip ./a/ :压缩zip(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.zip

  9. bzip2 -k file1 : 压缩一个 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)
  10. bzip2 -d -k file1.bz2 : 解压一个叫做 'file1.bz2'的文件

  11. gzip file1 : 压缩一个叫做 'file1'的文件(gzip格式)(不能保留源文件)
  12. gzip -9 file1 : 最大程度压缩
  13. gzip -d file1.gz : 解压缩一个叫做 'file1'的文件

 

 

 

 

 

 

 

 

posted @ 2019-08-17 01:18  傲骄鹿先生  阅读(36)  评论(0编辑  收藏  举报