linux 常用命令总结

1.当前目录

cd ./

2.上级目录

cd ../

3.查看所有目录

ls 

查看文件的属性与权限等等数据

 ls -l 

3.1 文件权限

查看包括隐藏的所有文件: ls -a

文件权限有: 
    r  可读
    w  可写
    x  可执行
    -  没有权限
查看包括隐藏的所有文件: ls -a
查看当前目录下面所有文件的权限: ls -la
eg:  - rw- r-- r--
第一项为文件类型,这里的例子是“-”,后面每三个分别组成拥有者权限、用户组其它用户权限、其它用户权限
拥有者权限为:rw-,表示具有读写权限、没有可执行权限。
用户组其它用户权限为:r--,表示只有可读权限。
其它用户权限:r--,表示只有可读权限。

第一项文件类型有:
- 表示文件类型为普通文件
d 表示文件类型为目录文件
l 表示文件类型为链接文件link file
p 为管道文件pipe
s 为套接字文件socket

4.切换目录

cd   

eg:cd /home/neusoft/

5.压缩文件

zip  -r 备份名.zip  备份的文件     

eg:zip -r ywgz_20230424.zip ywgz

#解压文件
unzip xxx.zip  

6.查看进程

ps -ef|grep 文件名/程序名 

#杀进程: 
kill -9  进程号PID 

7.创建目录

mkdir 文件目录名

7.1 递归创建目录/创建多层目录

 mkdir -p 文件目录名1/文件目录名2/文件目录名3/文件目录名4

错误写法:mkdir 文件目录名1/文件目录名2/文件目录名3/文件目录名4

​​​​​​​7.2 创建有权限的目录

mkdir -m 权限 文件名 

权限:用数字4、2、1表示读、写、可执行权限,比如4 + 2 + 1 = 7,那么7表示读、写、可执行权限,4 + 2= 6表示读写权限
权限三个数字组成分别是所有者/拥有者权限、用户组/用户组其它用户权限、公共组成/其它用户权限

    eg:764表示拥有者的权限为7(4 + 2 + 1,读写可执行),用户组其它用户权限为6(4+2,读写),其它用户权限为4(可读)

##修改文件权限:
    chmod 764 file1  --文件执行
    chmod 777 -R dir  -- 文件夹执行    加上-R,表示递归修改文件夹下面所有文件的权限      

8.删除空的目录                                  

rmdir 目录名称  

删除多层目录: rmdir -p 文件目录名1/文件目录名2/文件目录名3/文件目录名4 

9.复制文件和目录

cp 复制的文件 新文件名

-f 若目标文件已存在,则会直接覆盖原文件

-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于上面的“-p -d -r”选项

eg:

  • 将某个文件复制一份,并定义新文件名称    cp anaconda-ks.cfg kickstart.cfg
  • 将某个目录复制一份,并定义新目录名称  cp -r Documents Doc
  • 复制某个文件时,保留其原始权限及用户归属信息  cp -a kickstart.cfg ks.cfg
  • 将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问  cp -f ks.cfg /etc
  • 将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖: cp anaconda-ks.cfg ks.cfg /etc   
  • 将当前目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc:   cp ~/.bashrc /tmp/bashrc

10.移除文件或目录

rm xxx.text

-f :直接删除,忽略不存在的文件,不会出现警告信息;
-i :在删除前会询问是否删除
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

eg:

  •     rm 文件名
  •     rm -1 文件名
  •     rm -r 目录

11.移动文件与目录,或修改名称 

mv [选项] 源文件或目录 目标文件或目录

-f :如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

eg:
    ①当mv命令中的第二个参数类型(目标)是文件时,实现**重命名**源文件或目录的功能
    mv test1 test.txt  将文件test1 重命名为test.txt
    
    ②当mv命令中的第二个参数类型(目标)是目录时,实现的是移动源文件和目录的功能
    mv test.txt ../test  将文件test.txt 移动到上一级文件目录test中
    
    ③移动并覆盖已存在的文件,不会询问
    mv -f test.txt ../test2 
    
    ④移动并覆盖已存在的文件,会询问
    mv -i test.txt ../test2 
    
    ⑤当源文件是最新更新时,才可以覆盖目标文件
    mv -u test.txt ../test2 

12.ip用于显示或设置网络设备  

ip link list / ip -s link list     #用 ip 命令显示网络设备的运行状态
ip link show                    # 显示网络接口信息
ip link set eth0 up             # 开启网卡
ip link set eth0 down            # 关闭网卡
ip link set eth0 promisc on      # 开启网卡的混合模式
ip link set eth0 promisc offi    # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400        # 设置网卡最大传输单元
ip addr show     # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址

ip route show # 显示系统路由
ip route add default via 192.168.1.254   # 设置系统默认路由
ip route list                 # 查看路由信息
ip neigh list                   #显示邻居表
ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via  192.168.0.254  dev eth0        # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24   # 删除192.168.4.0网段的网关
ip route del default          # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由    
ip link | grep -E '^[0-9]' | awk -F: '{print $2}'  #获取主机所有网络接口    

13.查看文件内容

  •     由第一行开始显示文件内容: cat  文件名  
  •     一页一页的显示文件内容: more  文件名

       在 more 这个程序的运行过程中,你有几个按键可以按的:

        空格键:向前移动一个屏幕,也就是翻页
        Enter键: 一次移动一行
        /关键字 :搜索关键词;
        q :退出more模式 

  •     一页一页翻动:    less 文件名

       less运行时可以输入的命令有:
        空格键:下一页
        ↓  :上一行;
        ↑  :下一行;
        G  :第一页
        g  : 最后一页
        /字串     :向下搜寻『字串』的功能;
        ?字串     :向上搜寻『字串』的功能;
        n         :重复前一个搜寻 (与 / 或 ? 有关!)
        N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)
        q         :退出 less 这个程序;

14.vi/vim 的使用 编辑文本内容

Vim模式:

14.1 命令(普通)模式:控制光标移动,可对问你本进行复制、黏贴、查找等工作,以下是普通模式常用的几个命令

    i -- 切换到输入模式,在光标当前位置开始输入文本。
    : -- 切换到底线命令模式,以在最底一行输入命令。
    :w -- 保存文件。
    :q -- 退出 Vim 编辑器。
    :q! -- 强制退出Vim 编辑器,不保存修改
    x -- 删除当前光标所在处的字符。
    a -- 进入插入模式,在光标下一个位置开始输入文本。
    o:在当前行的下方插入一个新行,并进入插入模式。
    O -- 在当前行的上方插入一个新行,并进入插入模式。
    dd -- 删除当前行。
    yy -- 复制当前行。
    p -- 粘贴剪贴板内容到光标下方。
    P -- 粘贴剪贴板内容到光标上方。
    u -- 撤销上一次操作。

14.2 输入模式:正常的文本录入,在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式,在输入模式中,可以使用以下按键

    字符按键以及Shift组合,输入字符
    ENTER,回车键,换行
    BACK SPACE,退格键,删除光标前一个字符
    DEL,删除键,删除光标后一个字符
    方向键,在文本中移动光标
    HOME/END,移动光标到行首/行尾
    Page Up/Page Down,上/下翻页
    Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    ESC,退出输入模式,切换到命令模式

14.3 末行(底线命令)模式: 保存或退出文档,以及设置编辑环境,在命令模式下按下 :(英文冒号)就进入了底线命令模式,在底线命令模式中,基本的命令有(已经省略了冒号)

    :w  保存文件。
    :q  退出 Vim 编辑器。
    :wq   保存文件并退出 Vim 编辑器。
    :q!  强制退出Vim编辑器,不保存修改
    按 ESC 键可随时退出底线命令模式

注意  

在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。
在Vim中,无法直接从输入模式切换到末行模式,每次在编写玩文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。
eg:编辑完要保存,需要先按esc返回普通模式 ,然后按:进入底线命令模式,最后按wq进行保存退出

eg:
1.编辑一个名为 runoob.txt 的文件,不存在时会自动新建
vim runoob.txt
2.按下 i 或者 o 或者 a 进入输入模式(也称为编辑模式),开始编辑文字

3.编辑完成后,按下 ESC 按钮回到命令模式
4.在一般模式中按下 :wq 保存后离开 vi
5.结束

15.命令模式下的操作

15.1 移动光标

    方向键
    Ctrl + r -- 重做上一次撤销的操作。
    Ctrl + f 向下移动一页
    Ctrl + b 向上移动一页
    Ctrl + d 向下移动半页
    Ctrl + u 向上移动半页
    Home或者 0  移动到这一行的最前面字符处
    End或者$ 移动到这一行的最后面字符处
    G  移动到这个档案的最后一行
    nG n 为数字。移动到这个档案的第 n 行 例如 20G 则会移动到这个档案的第 20 行
    gg 移动到这个档案的第一行

15.2 搜索替换操作

    /word  向光标之下寻找一个名称为 word 的字符串
    ?word 向光标之上寻找一个字符串名称为 word 的字符串

    :n1,n2s/word1/word2/g  n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !
      eg:   举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
            :100,200s/vbird/VBIRD/g
            
    :1,$s/word1/word2/g:%s/word1/word2/g    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2     
    :1,$s/word1/word2/gc:%s/word1/word2/gc   从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

15.3 删除、复制与粘贴

     x, X  在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)(常用) 
    nx    n为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』
    dd  剪切游标所在的那一整行(常用),用 p/P 可以粘贴 (常用)
    ndd  n为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘(常用)
    d1G  删除光标所在到第一行的所有数据
    dG 删除光标所在到最后一行的所有数据
    d$ 删除游标所在处,到该行的最后一个字符
    d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
    yy 复制游标所在的那一行(常用)
    nyy n为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
    y1G 复制游标所在行到第一行的所有数据
    yG  复制游标所在行到最后一行的所有数据
    y0 复制光标所在的那个字符到该行行首的所有数据
    y$ 复制光标所在的那个字符到该行行尾的所有数据
    p, P  p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行,举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行
    c 重复删除多个数据,例如向下删除 10 行,  10cj
    u 复原前一个动作。(常用)
    Ctrl + r 重做上一个动作。(常用)
    .   不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

15.4 命令模式切换到输入模式的可用的按钮说明

 i, I    进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
    a, A    进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
    o, O    进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用)
    r, R    进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
####上面这些按键中,在 vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!
    Esc    退出编辑模式,回到一般模式中(常用) 

15.5   命令模式切换到底线命令模式的可用的按钮说明  

    :w    将编辑的数据写入硬盘档案中(常用)
    :w!    若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
    :q    离开 vi (常用)
    :q!    若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
#####注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
    :wq    储存后离开,若为 :wq! 则为强制储存后离开 (常用)
    ZZ    这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
    ZQ    不保存,强制退出。效果等同于 :q!。
    :w [filename]    将编辑的数据储存成另一个档案(类似另存新档)
    :r [filename]    在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
    :n1,n2 w [filename]    将 n1 到 n2 的内容储存成 filename 这个档案。
    :! command    暂时离开 vi 到指令行模式下执行 command 的显示结果!例如『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
    


16.vim 环境的变更

:set nu    显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu    与 set nu 相反,为取消行号!

17.yum常用命令

   1. 列出所有可更新的软件清单命令:yum check-update
    2. 更新所有软件命令:yum update
    3. 仅安装指定的软件命令:yum install <package_name>
    4. 仅更新指定的软件命令:yum update <package_name>
    5. 列出所有可安裝的软件清单命令:yum list
    6. 删除软件包命令:yum remove <package_name>
    7. 查找软件包命令:yum search <keyword>
    8. 清除缓存命令:
    yum clean packages: 清除缓存目录下的软件包
    yum clean headers: 清除缓存目录下的 headers
    yum clean oldheaders: 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers1. 列出所有可更新的软件清单命令:yum check-update
    2. 更新所有软件命令:yum update
    3. 仅安装指定的软件命令:yum install <package_name>
    4. 仅更新指定的软件命令:yum update <package_name>
    5. 列出所有可安裝的软件清单命令:yum list
    6. 删除软件包命令:yum remove <package_name>
    7. 查找软件包命令:yum search <keyword>
    8. 清除缓存命令:
    yum clean packages: 清除缓存目录下的软件包
    yum clean headers: 清除缓存目录下的 headers
    yum clean oldheaders: 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

18.apt 常用命令

   列出所有可更新的软件清单命令:sudo apt update
    升级软件包:sudo apt upgrade
    列出可更新的软件包及版本信息:apt list --upgradeable
    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
    安装指定的软件命令:sudo apt install <package_name>
    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
    更新指定的软件命令:sudo apt update <package_name>
    显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
    删除软件包命令:sudo apt remove <package_name>
    清理不再使用的依赖和库文件: sudo apt autoremove
    移除软件包及配置文件: sudo apt purge <package_name>
    查找软件包命令: sudo apt search <keyword>
    列出所有已安装的包:apt list --installed
    列出所有已安装的包的版本信息:apt list --all-versions    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37131747

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值