Linux 基础命令

目录操作

ls  查看文件夹

-l:表示以列表的形式进行显示
-h: 表示以较高可读性的形式进行展示
-a:表示显示所有文件和文件夹包含隐藏文件/文件夹
示例: ls -lha /root   //显示root文件夹下所有的文件和文件夹

pwd  打印当前所在目录

cd  切换工作目录

  示例: cd /usr/local/   //切换到/usr/local/目录

mkdir  创建目录

  -p : 递归创建路径上的所有目录

  示例 : mkdir  /root/a  /root/b  /root/c   //同时创建3个目录

rmdir   删除空目录

  -p : 递归删除路径上的目录

文件操作

touch  创建文件或目录

  示例 : touch  ./1.txt [./2.txt]  //同时创建多个文件

rm  删除文件

  -r : 递归删除

  -f : 强制删除,不提示任何信息.

  示例 : rm  -rf  /home/test  //删除rest目录

cp  复制文件或文件夹到指定位置

  -r : 递归复制,复制目录下的所有文件.

mv  移动文档到新的位置

  注: mv与cp命令不一样,不管是针对文件还是文件夹都不需要加-r选项

  示例 : mv  hello.txt  readme.txt  //重命名文件

find  查找文档

  -name : 按照文档名称进行搜索(支持模糊搜索)

  -type : 按照文档的类型进行搜索. f文件 d文件夹

  示例 :  find /etc -name "httpd.conf' -type f    //搜索/etc下文件名为"httpd.conf"的文件. 注意:名称可使用正则

  

压缩与解压缩

gzip  压缩文件 后缀  .gz

  -d : 解压文件

  特点 : 压缩速度快,压缩率低,CPU开销比较低.

bzip2  压缩文件  后缀 .bz2

  -d : 解压文件

  特点 : 压缩速度慢,压缩率高,CPU开销大.

xz  压缩文件 后缀 .xz

  -d : 解压文件

  特点 : 压缩率高,解压速度快,压缩时间较长,CPU消耗相对较大.

tar  将文件打包

  * -c : create 创建的意思

   -v : 可视化,即可以查看创建过程.

  * -f : 必选参数,不能省略

   -u :  update更新原打包文件中的文件.

   -r : append 追加文件到压缩文档.

   -z : 将文件打包 tar 并压缩成 .gz 文件 格式: xxx.tar.gz

   -x : 解压缩

   -tf : 用于查看压缩文件内容.

  打包压缩示例 :  tar  -zcvf  ./xxx.tar.gz   ./*  //将当前文件夹所有文件打包压缩成  xxx.tar.gz

  解压缩示例 :  tar -zxvf ./xxx.tar.gz   -C  /test   //将xxx.tar.gz 解压到 /test 目录

zip  压缩与解压缩 兼容类unix与windows,可以压缩多个文件或目录

  -r : 压缩文件夹

  压缩示例 : zip  readme.zip  readme.txt  //将readme.txt压缩成 readme.zip 文件

  解压缩示例 : unzip readme.zip  -d /tmp/   //将 readme.zip 解压到 /tmp/目录下.

输出重定向

  >  : 标准输出重定向,每次输出会覆盖原来的内容.

  2> : 标准错误输出重定向,每次输出会覆盖原来的内容. (命令执行出现标准错误将输出错误)

  &> : 标准输出和标准错误重定向,每次输出会覆盖原来的内容.(命令执行出现的错误和信息全都输出)

  >> : 追加重定向,追加输出不会覆盖原始文件内容.

  2>> :标准错误追加重定向,追加输出不会覆盖原始文件内容.(命令执行出现标准错误将追加输出错误)

  &>> :标准错误追加重定向,追加输出不会覆盖原始文件内容.(命令执行出现的错误和信息全都追加输出)

  

  示例 : ls -h > ./filelist.txt  //将查询结果标准重定向到当前文件filelist.txt

  echo  字符串输出.

  示例:

    输出到屏幕 : echo "testSting"

    向文件中写入内容 : echo "testString" >> readme.txt   //向文件readme.txt中追加内容 testString

查看文件内容

  cat  正序查看文件内容(全部加载)  示例; cat  file1.txt file2.txt > allfile.txt  //合并两个文件的内容到 allfile.txt

  tac  倒序查看文件内容.

  head  查看一个文件的前n行,如果不指定n,则默认显示前10行.

  tail  查看一个文件的末n行,如果n不指定默认显示后10行.

    -f : 查看一个文件动态变化的内容. 一般用于查看系统的日志.

  less  查看文件内容(流加载)  推荐

    /关键字  可以直接搜索

    n  : next,向下切换关键字

    N ; shift n ,向上切换关键字

  more  查看文件内容(全部加载)

  wc  word count 统计文件内容信息

    -l : 统计行数

    -w : 单词书,依照空格来判断单词数量.

    -c : 表示bytes, 统计字节数

  du  查看文件或目录

    -s : summaries ,只显示汇总的大小,统计文件夹的大小.

    -h : 表示以高可读性的形式进行显示.默认以KB的形式显示

帮助文档

求帮助方法;

  type 查看一个命令是内部还是外部. 例: type cd

  help 简约帮助信息

    内部 : help 命令.

    外部 : 命令  --help

  man manul缩写手册的意思,详细帮助.任何配置文件都可以在man文档中找到相关信息

    1 命令(/bin),5配置文件,8管理员相关工具命令和后台的程序(/sbin)

    man  [1命令参数|5配置文件参数|8管理员命令参数]

磁盘内存相关

  df  查看磁盘的空间

    -h : 表示可读性高的形式展示大小

  free  查看内存使用情况

    -m : 表示以MB为单位查看

 日期时间命令

  date  获取系统时间

    date  " %F" 输出形式 : 2020-11-20

    date  " %F %T"  输出形式 : 2020-11-20 17:01:00

    date  -d  "-1 day" " %F"  输出时间日期 减1天  符号可选值 (之后)  -(之前)  单位的可选值 : day ,month , year

  date  设置系统时间

     -s  : set 的意思 ,设置系统时间  date  -s  "2020-11-20 17:00:00"

  hwclock  获取计算机硬件 RTC时间

  hwclock  设置系统时间

     -w : 将Linux系统时间保存到硬件RTC中

     -s : 将RTC中的时间保存到Linux系统时间中

管道命令

  |  管道符,管道是一种通信机制,通常用于进程间的通信.表现形式为将前面每一个进程的输出直接作为下一个进程的输入.

  过滤  ls  /  | grep "y"  //过滤根目录下包含y的文件/文件夹

  统计  ls  /  |  wc  -l    //统计根目录下文档的个数

  统计  cat /etc/passwd | wc -l  //统计一共有多少个用户信息.

  特殊用法  cat  /root/install.log  | less  //能够实现less的流加载效果.

  xargs  很多命令不支持管道来传递参数,就需要用到xargs参数

    示例 : find  /etc -name "*.config" | xargs ls -l  //通过xargs 传递参数.

    多行输入单行输出 : cat file.txt | xargs

    -n : cat file.txt | xargs -n3  //-n指定以多少列进行输出.

    说明:

      xargs : 可以将管道或标准输入数据转换成命令行参数,也能够从文件的输出中读取数据.

      xargs : 可以将单行或多行文本输入转换成其他格式,例如单行变多行,多行变单行.

      xargs : 默认的命令是 echo 这意味着通过管道传递给xargs的输入将会包含换行和空白,通过xargs处理换行和空白将被空格取代.

      xargs : 是一个强有力的命令,能够捕获一个命令的输出,然后传递给另外一个命令.

history  查看以前输入的Shell命令信息.

clear  清屏

whoami  获取当前用户的用户名

reboot  重启操作系统

shutdown  关闭或重启系统

  -r : 表示重启系统

  -h : 关闭系统

  示例 : shutdown -r 3  //表示3分钟之后重启设备.

cal  操作系统日历

  -1 : 表示输出当前月份

  -3 : 表示输出上个月 当前月 下个月的月份信息.

  -y : 表示输出某一年的月份信息.

bash中的引号

  双引号 : echo "$(hostname)"  输出变量内容. $(变量)

  单引号 : echo '$(hostname)'  输出纯字符串.

  反憋号 : echo `$(hostname)` 输出变量内容.

Linux高级命令

  hostname  读取或设置临时主机名称.

    -f : 全限定名(FQDN)

  id  查看一个用户的基本信息,如果指定不指定用户则显示当前用户.

  ps  process show 主要是查看服务器的进程信息.

    -e : 等价于 "-A" ,表示列出全部的进程.

    -f : 表示full , 显示全部字段.

    字段说明:

      UID : 该进程执行的用户ID

      PID : 进程 ID

      PPID :(Parent Process ID) 该进程的父级进程ID,如果找不到,则该进程就被称为僵死进程

      C : CPU的占用率百分比形式.

      STIME : 进程的启动时间.

      TTY : 终端设备,发起该进程的设备识别符号,如果显示"?"则表示该进程并不是由终端设备发起.

      TIME : 进程实际使用CPU的时间.

      CMD : 该进程的名称或者对应的路径.

  tty  查看当前的终端号. tty0表示本地终端号比如显示器.  pts/0表示远程虚拟终端号比如xshell连接的窗口.

  ps   aux  BSD格式命令.

    USER : 进程所属的使用中账号

    PID : 进程的ID号

    %CPU : 进程使用掉的CPU资源百分比.

    %MEM : 进程所占用的物理内存百分比.

    VSZ : 进程已使用的虚拟内存量 (kbytes)

    RSS : 进程占用的固定的内存量.(kbytes)

    TTY : 显示"?"表示进程与终端无关,tty1-tty6是本机上的登入者运行的程序,pts/0等表示由网络连接进主机运行的程序.

    STAT : 进程目前的状态.

      R : 程序目前正在运行,或者是可被运行的.

      S : 程序目前正在睡眠当中(idle状态),可以被某些讯号(signal)唤醒.

      T : 程序目前正在侦测或者停止了.

      Z : 程序已经终止,其父程序却无法正常的终止它,造成zombie(僵尸)程序的状态.

    START : 程序被触发启动的时间.

    TIME : 程序实际使用CPU运作的时间.

    COMMAND : 程序的实际指令.

  top  动态显示服务器的进程站的资源.

    load average 一般单核情况下,这个值不能超过1,超过1代表CPU超负荷运行. 1分钟,5分钟,15分钟负载平均值

    字段含义:

      PID : 进程ID

      USER : 进程对应的用户.

      PR : 优先级.

      VIRT : 虚拟内存,进程需要的内存大小,假如进程新申请10MB内存,实际只用了1MB那么它会增长10MB而不是实际的1MB使用量.VIRT = SWAP RES

      RES : 常驻内存,进程当前使用的内存大小.

      SHR : 共享内存,计算一个进程实际使用的内存 = 常驻内存(RES) - 共享内存(SHR).

      S : 表示进程的状态 status (sleeping , 其中S表示睡眠, R表示运行)

      %CPU : 表示CPU的占用百分比.

      %MEM : 表示内存的占用百分比.

      TIME : 执行的时间.

      COMMAND : 进程的名称或者路径.

    按键 M 表示将MEM高到低进程降序排列.

    按键 P 表示将结果CPU使用率从高到低进行降序排列.

    按键 1 表示拥有多个CPU的时候显示各个CPU的详细信息.

  service  用于控制一些软件服务的启动/停止/重启  centos7中 systemctl将代替service命令.

    注意 : 服务名可以在/etc/init.d目录下找.

         服务≠进程

         进程 : 指运行的程序(状态不一定是正在运行 : run/sleep/stop/zombie)

       服务 : 指进程的一个"外壳" 用于控制对进程的启动/停止/重启操作.

    示例 : service network restart  //重启网络服务.

  kill  表示杀死进程需要配合ps命令获取进程号. 如果需要杀死子进程则可以直接杀死父进程.

    -9 : 表示强制杀死某个进程.

  killall 表示杀死进程,通过进程名称杀死进程.

  pkill  和killall类似通过进程名称杀死所有进程.

  ifconfig  获取网卡的相关信息.

  uname  获取计算机操作系统相关信息.

    -a : 表示获取全部的系统信息.

  netstat  查看网络连接状态

    -t : 表示只列出tcp协议的连接.

    -u : 表示只列出udp协议的连接.

    -n : 表示将地址从字母组合转化成ip地址,将协议转化成端口号进行显示.

    -l : 表示过滤出 "state (状态)"列中其值为LISTEN(监听)的连接.

    -p : 表示显示发起连接的进程pid和进程名称.

    Protocol 协议,Receive 接收 , Send 发送.

来源:https://www.icode9.com/content-3-759301.html

(0)

相关推荐