Linux的基础命令

1.系统命令

  1.登陆和退出  

复制代码
    login         用户登陆,如果已登陆状态,则退出重新回到登陆页面
    exit                退出登陆,返回用户登陆页面
    logout          退出登陆,返回用户登陆页面
    shutdown   关闭计算机或重启计算机
      shutdown -h now     立即关闭计算机
      shutdown -h +5      五分钟后关闭系统 
      shutdown -h 22:10    晚上10点10分自动关机
      shutdown -r +5      五分钟后重启计算机
      shutdown -r now     立即重启计算机
      shutdown -c       取消关机或重启计算机
    reboot      重启系统 
    halt       关闭系统,杀死应用进程
    init 0      关闭系统,(0-停机,1-单用户,2-多用户,3-完全多用户,4-图形化,5-安全模式,6-重启)
    poweroff     关闭系统
    last       查看近期用户或终端的登陆情况
复制代码

 

  2.安装和加载

    • install            安装或升级软件,-y 跳过确认直接安装   
    • mount           加载文件系统
    • umount         卸载文件系统
    • chsh              更改使用者shell设定,-l查看系统中的shell类型,常用的有bash、sh、csh

  

  3. 网络通信命令

    1. ping  测试网络连通性       ping www.baidu.com 或  ping 192.168.1.1
     2. ifconfig  查看网络设置信息    -a  显示所有网卡信息
       3. ip addr  查看系统ip地址,简写为ip a
     4. netstat  检查整个Linux网络状态
     5. route    表示手工产生、修改和查看路由表

  

  4. 文件执行目录
      1.    source file    执行文件,不需要权限
      2.    . file       执行文件,不需要权限
      3.    bash file     执行文件,不需要权限
      4.    ./file       执行文件,需要权限

 

  5. 系统管理命令

    1. df   检查文件系统中磁盘空间占用情况
     -a  递归地显示指定目录中各文件及子目录中各文件占用的数据块数。
      -k  以1024字节为单位列出磁盘空间的使用情况,默认输出。
      -h  以KB、MB、GB的形式打印文件系统的大小。
      -T  显示文件系统的类型。

 

      2. du  查看目录内存占用情况
      du  -sh    查看当前目录存在占用情况
      du  -sh  *      查看当前目录下得所有目录或文件内存占用情况

 

    3. top  实时显示系统中执行的程序进程  

      1. 进程中的交互命令
         q:退出top命令
           P:根据CPU使用大小进行排序
           T:根据时间进行排序
            M:根据内存占用大小进行排序
      
        2. top头部显示图说明

           第一行依次表示为当前时间,系统启动时间,当前系统登陆用户数,平均负载
        第二行依次表示所有进程,当前运行的进程,挂起的进程,终止的进程和无用的进程
        第三行表示当前CPU使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例
        第四行显示物理内存使用情况,包括总的可用内存,空闲内存,已用内存和缓冲区占用的内存
        第五行显示交换分区使用情况,包括总的交换分区,空闲的,已使用的和用于高速缓存的大小
       

      3. top进程详细数据说明


               PID    进程号
          USER    进程所有者的用户名
          PR     进程的优先级别
          NI     进程的优先级别数值
          VIRT    进程占用虚拟内存值
          RES     进程占用物理内存值
          SHR     进程使用的共享内存值
          S      进程的状态,S表示休眠,R表示正则运行,Z表示僵死状态,N表示进程优先值为负值
          %CPU     进程占用CPU使用率
          %MEM     进程占用物理内存和总内存百分比
          TIME+    进程启动后占用总的CPU时间
          COMMAND    进程启动的命令名称

  

    4. free  显示内存的使用情况
       -b  -k  -m:  分别以字节,KB、MB为单位显示
       -s delay:    每隔delay秒显示一次内存使用情况
       -t:       显示内存总和列

      

    5. kill  杀死进程

      kill -9 234  强制终止进程号为234的进程

  

  6. 系统服务命令

    1. systemctl  status  服务名    查看服务状态
    2. systemctl  start  服务名      启动服务  
    3. systemctl  restart 服务名    重启服务
    4. systemctl  stop  服务名      终止服务
    5. systemctl  disable 服务名     禁用服务
    6. systemctl  enable  服务名     永久启动服务  

 

  7. 硬链接和软链接

    硬链接:假设A→B,B是A的硬链接,则他们两个同时指向了同一个文件,允许一个文件有多个路径,却不同复制粘贴,有点类似于深拷贝 
    软链接:类似于window的快捷方式,删除源文件,快捷方式失效。
      创建硬链接:ln  A B
       创建软链接:ln -s A B
复制代码
[root@MiWiFi-R4A-srv home]# touch f1              # 创建f1文件
[root@MiWiFi-R4A-srv home]# ln f1 f2              # 创建硬链接f2
[root@MiWiFi-R4A-srv home]# ln -s f1 f3           # 创建一个软链接f3
[root@MiWiFi-R4A-srv home]# ls -la
总用量 0
-rw-r--r--.  2 root root   0 11月  9 11:49 f1
-rw-r--r--.  2 root root   0 11月  9 11:49 f2
lrwxrwxrwx.  1 root root   2 11月  9 11:50 f3 -> f1
[root@MiWiFi-R4A-srv home]# echo "hello world" >>f1        # 往f1中输入内容
[root@MiWiFi-R4A-srv home]# cat f1        
hello world                                                # 查看f1中的内容 
root@MiWiFi-R4A-srv home]# cat f2
hello world                                                # 查看f2中的内容
[root@MiWiFi-R4A-srv home]# cat f3
hello world                                                # 查看f3中的内容
[root@MiWiFi-R4A-srv home]# rm -rf f1      # 删除源文件f1
[root@MiWiFi-R4A-srv home]# ls
centos  f2  f3
[root@MiWiFi-R4A-srv home]# cat f2         # 查看f2的内容
hello world
[root@MiWiFi-R4A-srv home]# cat f3
cat: f3: 没有那个文件或目录                         # 不存在f3文件
复制代码

 

  

  8. 其他系统命令  
    1. pwd        查看当前所在路径
    2. clear        清屏
    3. date        查看系统时间
    4. hostname         查看主机名  hostnamectl set-hostname 主机名
    5. tree         以树状查看,需下载
    6. man        命令说明书
    7. su         切换用户,切换超级用户需要密码
    8. which        查看命令的相对路径
    9. whereis          显示和指定文件相关的内容
    10. sudo          以系统管理员身份执行指令
    11. uname -a       显示系统信息,如内核名称、主机名、内核版本号、处理器类型之类的信息
    12. yum        下载安装软件
    13. rpm        安装插件  rpm -ivh 安装    rpm  -uvh 更新    rpm  -ev 卸载
    14. wget       从网上下载文件
    15. ps           查看进程  ps -ef  查看所有正在运行的进程
    16. history        查看历史输入的命令
    17. stat         显示目录或文件的详细信息
    18. echo       输出
    19. cal           显示当前月日历,带年份则显示当前年日历

 

2.文件命令

  1.文件处理命令
    1.ls   查看当前文件和目录

ls的参数以及作用,参数之间可以一起使用
  ls  -a      查看所有文件,包括隐藏文件
  ls  -l       查看文件的信息
  ls  -d      查看目录属性
  ls  /dir    查看指定目录下得所有目录和文件

     

     2. ll  查看所有的目录和文件,并显示详细信息 

1. - 开头表示文件    -rw-r--r--. 1 root root 670293 8月   2 01:25 services       
2. d 开头表示目录    drwxr-xr-x. 2 root root      6 8月   2 02:34 test           
3. l  开头表示链接
4. rw-   用户权限   r--   组权限   r--    访客权限
5. r: read  只读权限      4 w: write  写入权限  2   x:  exec   执行权限   1

     

     3. cd  进入指定目录

1. cd ..    返回上一级目录
2. cd /     回到根目录,根目录时/,而不是root
3. cd ~     回到用户的家目录
4. cd -     回到上一次所在的目录
5. cd enter  回到用户的家目录

      

     4. mkdir  新建目录(增)

1. mkdir file        在当前目录下创建文件夹
2. mkdir ./my/file     在当前目录的my目录下创建文件夹
3. mkdir /root/my/file   在指定的目录下创建文件夹

 

       5. touch  新建文件(增)

1. touch file           在当前目录下创建文件 
2. touch ./my/file       在当前目录下的my目录下创建新的文件夹
3. touch /root/my/file     在指定的目录下创建文件夹

 

        6. rm  删除目录或文件(删)

1. rm  文件名      删除文件,会有提示
2. rm -rf  文件名     强制删除指定文件夹中的所有数据,r为递归查找,针对目录
3. rm -rf  *       强制删除当前目录下的所有内容

 

      7. cp  复制粘贴(改)

1. cp  my.txt  /root/dir          复制文件 
2. cp file.txt  ./aa/newFile.txt     复制文件并重命名
3. cp -r file1 ./file2           复制文件夹,-r递归文件夹下得内容

 

     8. mv  剪贴粘贴或重命名(改)

1. mv demo ./file        剪贴文件或者文件夹,文件夹需要-r递归
2. mv  my.html  you.html     重命名文件

 

      9. file  filename    查看文件类型

    10. sort  filenale     对文件进行排序

    12. sort -r filename  逆序

    13. sdiff file1 file2    合并文件

    14. wc  参数  file    对文件内容进行统计,(c-字符数,w-单词数,l-行数)

 

  2. 内容查看命令    

    1. cat    从第一行开始显示文本内容,适用于内容较少的,通过man cat 查看参数
    2. tac    从最后一行开始显示文本,是cat的逆查询
    3. more   一页一页的显示文本内容,适用于内容较多的,可以实时显示百分比
    4. less     与more类似,但是可以向前翻页,PgUp向前翻页,PgDn向后翻页
    5. head   只看文本的前面几行,如head -n 20 f1,显示文件前20行并显示行数
    6. tail    只看文本后面几行,与head相反,tail -f  f1,-f 实时查看文件内容
    7. nl      显示文本内容与行号,与cat -n 相似  

   

  3. 文件比较命令

    1. comm  比较两文件的不同,返回以行的结果

复制代码
第一列为只出现在f1中出现的行内容,第二列为只出现在f2中出现的行内容,第三列为f1和f2中都存在的内容
# f1 # f2 aa aa bb cc cc ee [root@MiWiFi-R4A-srv test]# comm f1 f2 aa bb cc ee # -1不显示只在f1中出现的列,-2不显示只在f2中出现的列 # -3不显示只在第1和第2个文件里出现过的列 [root@MiWiFi-R4A-srv test]# comm -12 f1 f2 aa cc
复制代码

 

    2. diff  比较两文件的内容      

      1. a--add 添加 d--delete 删除 c--change 修改
diff 命令在最简单的情况下,比较两个文件的不同。diff3为三个文件比较
[root@MiWiFi-R4A-srv test]# diff f1 f2 2d1 # 表示 f1的第二行需要删除
< bb # 删除的内容为dd 3a3 # 表示 f1的第三行需要添加f2的第三行的内容 > ee # 添加的内容为ee

 

  4. 文件查找命令

     1. which   显示系统命令所在位置

    2. locate     关键字查找文件或目录

    3. find    查找目录或者文件名

复制代码
  1. find  /root -name myfile           根据名字查询指定目录下的文件
  2. find /root -type d               根据文件类型查询root目录下的所有文件夹,d为目录,f为普通文件
  3. find /root -type d -ls             查询root目录下所有的文件夹,并显示他们的详情
  4. find /root/test -name 'index.*'        查询所有以index.开头的文件
  5. find /etc -name file -exec ls -l {} \;   在etc目录下查找file文件并执行后续操作
  6. -name 区分大小写    -iname 不区分大小写     -exec     执行后续操作     ls -l   查看文件详情     {}      表示之前查询到该文件     \      转义;的作用     ;       不能省略;否则会报遗漏参数的错误 
复制代码

      

     4. grep   查找文件内容

复制代码
语法: grep [参数] [匹配内容] file
常见的参数:
    1. -i    忽略大小写               2. -o     仅显示匹配到的字符串本身
    3. -v    显示不被匹配到的行,取反    4. -E     支持使用扩展的正则表达元字符
    5. -q    静默模式,即不输出内容     6. -n     显示匹配行与行号
    7. -c    只显示统计匹配的行数       8. -w     只匹配过滤的单词 
  
常见的正则语义符:
    1. .     代表任意字符        2. *       代表出现0次或1次以上
    3. ^     代表匹配开头        4. $       代表匹配结尾
    5. []    代表匹配里面的任意内容     6. +       代表匹配1次或多次
    7. ?     代表匹配0次或1次      8. |        代表或的意思
    9. \     代表转义,和-E冲突

难点:    
递归搜索当前目录下的abc目录及其子目录下文件内容中包含有字符串“linux”或字符串“test”的文件,并分屏显示匹配条件的文件名及各文件中匹配条件的行
    grep -rE 'linux|test' ./abc/* | more
    grep -rE 'linux|test' ./abc/* | less -e
 
统计当前目录下的abc目录及其下所有子目录中包含有字符串“linux”的行数,列出文件名及各文件中匹配条件的行数
    grep -rc linux ./abc/* | grep -v ':0'
复制代码

   

     5.  文件编辑命令  vi

    1. vi的三种模式
      1. command  命令模式,用于输入命令
      2. insert    插入模式,用于插入文本
      3. save     保存模式,用于保存文件

    2. command文件的命令模式

复制代码
1. 光标移动
  ←  光标向左移动   →  光标向右移动  ↑  光标向上移动  ↓  光标向下移动
  $  光标移至行尾    gg  光标移至文档开始  GG  光标移至文档末尾
2. 文本翻页   Ctrl + f 向前翻页    Ctrl + b 向后翻页
3. 文本删除   x 删除所在行选中的字符  #x 删除所在行多个字符,#为数字   dw 删除一个单词     #dw 删除多个单词,#为数字   dd 删除一行       #dd 删除多行,#为数字   d$ 删除光标到行尾的内容  J  清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起
4. 撤销   u 撤销删除或修改操作
5. 复制粘贴   yy 复制当前行    #yy 复制多行,#表示数字   p 在光标之后粘贴  shift+p 在光标之前粘贴
6. 查找替换   /字符 正向查找,n键向下移动,shift+n向上移动   ?字符 反向查找,shift+n向下查找,n键向上查找   :s /oldStr/newStr/g   把当前光标所处的行中的oldStr单词,替换成newStr   :%s /oldStr/newStr 把文档中所有SEARCH替换成REPLACE   :#,# s /oldStr/newStr/g #号表示数字,表示从多少行到多少行,把oldStr替换成newStr
复制代码

 

    3. insert文本插入模式

1. i  在光标之前插入      a  在光标之后插入      o  在光标所在的行的下面插入一行    s  删除光标后的一个字符,然后进入插入模式
2. I 在光标所在行的行首插入  A 在光标所在行的行尾插入  O 在光标所在的行的上面插入一行    S 删除光标所在的行,然后进入插入模式

 

    4. save文件的保存和退出  

复制代码
Esc退出文本插入模式,进入编辑模式
  • :w              保存
  • :w filename     另存为filename
  • :q!             不保存强制退出
  • :wq             保存退出
  • :wq! filename   以filename为文件名后强制保存退出
复制代码

 

  6. 文件权限命令

    1. chmod 修改文件权限  chmod [可选项] <mode> <file...>

复制代码
[可选项]
  -c, --changes              like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
  -f, --silent, --quiet      suppress most error messages  (若该档案权限无法被更改也不要显示错误讯息)
  -v, --verbose              output a diagnostic      for every file processed(显示权限变更的详细资料)
       --no-preserve-root    do not treat      '/' specially (the      default )
       --preserve-root       fail to operate recursively on      '/'
       --reference=RFILE     use RFILE's mode instead of MODE values
  -R, --recursive            change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
       --help              显示此帮助信息
       --version         显示版本信息

[mode] 
    权限设定字串,详细格式如下 :
      [ugoa...][[+-=][rwxX]...][,...]
    u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
      [+-=]
    + 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
      [rwxX]
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

[file...]
    文件列表(单个或者多个文件、文件夹)

示例:
1. 设置所有用户可读权限
      chmod ugo+r a.conf  或  chmod a+r  a.conf
2. 设置当前目录下的所有档案与子目录皆设为任何人可读写
      chmod -R a+rw *

数字权限使用格式
  在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1 。
  如:
    rwx = 4 + 2 + 1 = 7
    rw = 4 + 2 = 6
    rx = 4 +1 = 5
    以此类推4,3,2,1
  即
    若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
    若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
    若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
  示例:
  1. 设置所有人可以读写及执行
      chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx file)
  2. 设置拥有者可读写,其他人不可读写执行
      chmod 600 file (等价于  chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
复制代码

  

    7. 文件压缩解压缩命令

     1. gzip  压缩解压文件,面向文件,压缩后的文件格式为 .gz
      压缩语法:gzip  [option]  filename  -l 查看压缩率
      解压语法:gzip  -d  filename.gz   -d 解压文件
      解压文件:gunzip  filename.gz    .gz格式的另一种解压方式
压缩速度最快,将当前目录下的f1文件压缩为f1.gz文件的方法
    1. gzip -1 f1           2. gzip --fast f1
压缩率最高,将当前目录下的f2文件压缩为f2.gz文件的方法
    1. gzip -9 f2            2. gzip --best f2 

 

     2. tar  压缩和解压文件,压缩后文件格式为 .tar.gz

      1. 压缩语法:tar  -zcvf  file.tar.gz  ./filename  压缩文件,必须有文件名,保留源文件
      2. 解压语法:tar  -zxvf  file.tar.gz         解压文件压缩包,保留源文件
      • -c  产生 .tar打包文件
      • -v  显示详细信息
      • -f  指定压缩后的文件名
      • -z  打包的同时压缩
      • -x  解压.tar.gz文件

 

     3.  zip  压缩文件或目录。压缩后的文件格式为 .zip
      1. 压缩语法:zip -r (文件夹)压缩后文件名称 (必填)   目标文件或目录
      2. 解压语法:unzip  file.zip
      3. 查看.zip文件的内容:zcat ./file.zip

     

     4. bzip2  压缩解压文件或目录,可保留源文件,压缩后文件格式 .bz2
      1. 压缩语法:bzip2 -k  file      -k 保留源文件
      2. 解压语法:bzip2 -d file.bz2     -d 解压文件
      3. 解压语法:bunzip2 -k  file.bz2     解压后保留源文件

 

     5. 四种压缩解压缩方式的区别
      1. gzip和gunzip:gzip只能压缩文件不能压缩目录,且压缩后源文件被删除
      2. tar:将目录和文件打包成一个文件,显示压文件的路径,必须指定压缩文件名
      3. zip和unzip:压缩文件和目录,源文件会被保留,必须指定压缩后文件名
      4. bzip2和bunzip2:gzip和gunzip的升级版,可以选择是否保留源文件

 

posted @   无敌小豆包  阅读(451)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示