Linux常用命令

简介: Linux常用命令

@[TOC]

一、Linux基础命令

1、操作系统

  • 直接运行在计算机上的系统软件,是控制硬件和支持软件运行的计算机程序
  • 向下控制硬件;向上支持软件

    2、虚拟机软件

    虚拟机软件是用来快速学习一个新的操作系统

    3、Ubuntu 操作系统

    1、Linux系统

  • Ubuntu
  • Centos
  • RedHat

    2、Linux主要目录,没有盘符

  • / : 根目录
  • /bin :可执行二进制文件的目录
  • /etc :系统配置文件存放的目录
  • /home :用户家目录

    4、Linux内核

  • 内核是操作系统内部操作和控制硬件设备的核心程序
  • 真正的操作和控制硬件是由内核来完成的,操作系统是基于内核开发出来的

    5、查看目录命令

  • ls :查看当前目录信息
  • tree :以树状方式显示目录信息
  • pwd :查看当前目录路径
  • clear :清除终端内容

快捷键

  1. ctrl + shift + ‘+’ :窗口变大
  2. ctrl + ‘-’ :窗口变小
  3. ctrl + alt + t :快速启动终端
  4. 一次tab键自动补全
  5. 两次tab键查看可切换的目录

    6、切换目录命令

  • cd 目录 :切换到指定目录
  • cd - :切换到上一次目录
  • cd ~ :切换到当前用户的主目录(等价于cd 后面不写目录)
  • cd .. :切换到上一级目录
  • cd . :切换到当前目录
  • cd ../.. :切换到上一级目录的上一级目录

注:以圆点(·) 开头的文件名是隐含文件,默认方式下使用 ls 命令并不能把它们显示出来

7、创建、删除文件及目录命令的使用

  • touch 文件名:创建指定文件
  • mkdir 目录名:创建目录(文件夹)
  • rm 文件名 / 目录名:删除文件 / 目录
  • rm
    • -i :交互式提示,询问是否删除(y 同意,n不同意)
    • -r :递归删除目录及其内容
    • -f :强制删除,忽略不存在的文件,无需提示
    • -d :删除空目录
  • rmdir 目录名:删除空目录(或 rm -d 空目录)
  • rm 目录名 -r :删除非空目录

    8、复制、移动文件及目录命令

  • cp 1.txt AA:拷贝1.txt至AA文件夹中
  • cp AA/1.txt BB/DD:拷贝AA下的1.txt 至DD中
  • cp 1.txt ./11.txt :拷贝至当前文件夹下
  • cp AA CC -r :拷贝AA文件夹至CC文件夹下
  • cp
    • -i :交互式提示,询问是否覆盖(y同意,n不同意)
    • -r :递归拷贝目录及其内容
    • -v :显示拷贝后的路径描述
    • -a :保留文件的原有权限
  • mv 11.txt CC:移动11.txt至CC文件夹下
  • mv AA BB:移动AA文件夹至BB,当BB文件夹不存在时,等价于重命名AA为BB
  • mv 3.txt 33.txt:重命名3.txt 为 33.txt

    9、终端命令格式的组成

    command [-options] [parameter]
  • command :命令名。比如 ls pwd
  • options :选项,可以有0个或多个,多个选项可合并,比如 -r 就是选项
  • parameter :参数,可以有0个或多个,比如 touch 文件名,mkdir 目录名,这些文件名和目录名都是参数
  • [] :表示可选
    选项:调整命令的功能
  • 短选项的格式,'-' 后面接单个字母,例如 -r
  • 长选项的格式,'--' 后面接单词,例如 --help
    注:scp 选项 参数 // 表示远程拷贝,格式固定

    10、查看命令帮助

  • rm --help :查看rm的命令帮助
  • man rm :查看rm的命令帮助
    • F:下一页
    • B:上一页
    • 回车:查看下一行
    • Q:退出查看

二、Linux高级命令

1、重定向命令

1.1、定义

重定向又叫输出重定向,把在终端执行命令的结果保存到目标文件

1.2、命令使用

命令 说明
> 如果文件存在会==覆盖==原有文件内容,相当于文件操作中的‘w’模式
>> 如果文件存在会==追加==写入文件末尾,相当于文件操作中的‘a’模式

例:ls > cc/info.txt :将终端显示的内容写入 cc/info.txt文件中

2、查看文件内容命令

  • cat :查看小型文件
  • more :分屏查看大型文件
  • cat 1.txt 2.txt :可同时查看多个小型文件
  • cat 1.txt 2.txt > 3.txt :将1.txt与2.txt文件合并后写入3.txt中
  • gedit 1.txt :对1.txt 文件进行查看(并可修改其中内容)

    3、管道(|)命令的使用

  • 管道:一个命令的输出可以通过管道作为另一个命令的输入,可以理解为一个容器,存放在终端显示的内容
  • 管道一般结合 more 命令使用,主要是分配查看终端显示内容

    4、链接命令(l)

    4.1、软链接

  1. 软链接类似于windows下的快捷方式,当一个源文件的目录层级比较深,想方便使用它可以给源文件创建一个软链接
  2. ln -s 2.txt 2-s.txt :给2.txt创建软链接为2-s.txt,‘2-s.txt’为自己的绝对路径

    4.2、硬链接

  • 硬链接类似于源文件的一个别名,这两个名字指向的是同一个文件数据,防止文件中的数据丢失,相当于一个文件的两个名字
  • ln -s 2.txt 2-s.txt :
    • 删除源文件,不会影响硬链接文件,因为硬链接不会依赖源文件,直接指向的是文件中的数据
    • 目录文件夹下不可创建硬链接
    • 硬链接的创建使用路径没有要求

      5、文本搜索命令 grep

  1. 在文本中使用 ctrl + F
  2. grep “关键字” 文件名
  3. 命令 | 说明
    -------- | -----
    -i | 忽略大小写
    -n | 显示匹配行号
    -v | 显示不包含匹配匹配文本的所有行(对搜索内容进行取反)
  4. 结合正则表达式的使用
    • ^ :以指定字符串开头,‘^a’
    • $ :以指定字符串结尾,‘$k’
    • . :匹配一个非换行符的字符,grep ‘k.f’ 2.txt -n
  5. 结合管道符使用
    ls /bin | grep "sh" :查找bin目录下含有sh的文件
  6. 在使用 grep 命令时可省略搜索内容的引号

    6、查找文件命令

  7. name ,根据文件名(包括目录名)字查找
  8. 模糊搜索,由通配符 * 代表0个或多个任意字符,?代表任意一个字符
  9. find . -name " *.txt " :通配符不仅能结合find命令使用通配符,需要加引号

    7、压缩和解压缩命令

  10. Linux默认支持的压缩格式:.gz,.bz2,.zip
  11. .gz和.bz2 使用tar命令压缩和解压搜
  12. .zip的压缩包需要使用 zip 命令来压缩,使用unzip命令解压缩
  13. tar命令,tar -zxvf test.gz *.txt :把所有 .txt 文件打包为 test.gz
    • -c :创建打包文件
    • -v :显示打包或者解包的详细信息
    • -f :指定文件名称,必须放到所有选项后面
    • -z :压缩或解压缩(.gz)
    • -j :压缩或解压缩(.bz2)
    • -x:解包,tar -zxvf test.gz
    • -c :解压缩到指定目录
  14. zip和unzip命令
    • -d :解压缩到指定目录
    • zip test.zip *.txt :将所有.txt文件压缩为 test.zip
    • unzip test.zip -d AA :解压到AA目录下
  15. 压缩文件使用.gz 格式占用的空间较少,.zip较通用,操作简单

8、文件权限命令 chmod

1、字母法

  1. u-user :改文件的所有者
  2. g-group :用户组
  3. o-other :其他用户
  4. a-all :所有用户

    2、数字法

  5. r - 可读 - 4
  6. x - 可执行 - 1
  7. w - 可写 - 2
  8. -无任何权限 - 0
  9. 例如:chmod 644 1.txt:u—可读可写=6,g—可读=4,o—可读=4

9、获取管理权限的相关命令

  1. sudo -s :切换到root命令,获取管理员权限。只有创建了附加组之后才可使用sudo -s
  2. whoami :显示当前用户
  3. exit :退出当前用户回到普通用户
  4. which ls :查看ls命令所放的目录
  5. passwd :修改当前用户的密码
  6. who :查看当前用户被使用的人的地址,查看所有登录用户
  7. shutdown -h now :立刻关机
  8. reboot : 重启

    10、用户相关操作

  9. sudo useradd -m laowang:自动创建用户主目录,主目录的名字laowang就是用户名
  10. cat /etc/passwd :查看所有用户信息
  11. sudo passwd laowang :给laowang用户设置密码
  12. su - laowang :切换用户
  13. id laowang :查看laowang的所属id
  14. sudo usermod -G sudo laowang :给用户设置附加组。一个用户只可以有一个用户组,可以有多个附加组
  15. sudo gpasswd -d laowang sudo :删除附加组
  16. sudo userder -r laowang :删除用户信息;前提是需要退出laowang用户,默认会删除同名的用户组

    11、用户组相关操作

  17. sudo groupadd test :创建用户组
  18. grep test /etc/group
  19. sudo groupadd -m -g test laowang :创建用户并制定用户组,test为主组
  20. id laowang
  21. sudo usermod -g abc laowang :修改用户组
  22. id laowang
  23. sudo group test :删除用户组
  24. grep test /etc/group
  25. sudo groupdel abc :如果用户组下有用户,先删除用户再删除组

    12、远程登录、远程拷贝命令

  26. ssh 用户名@IP地址:远程登录
  27. scp :远程拷贝
  28. apt list | grep 安装的软件名 ,查找制定软件是否安装
  29. apt list :查看电脑安装的所有程序
  30. sudo apt-get install openssh-serve :Ubuntu作为服务端,安装ssh 服务端软件
  31. sudo apt-get install openssh-client :安装 ssh 客户端命令

    三、编辑 Vim

  32. vim 11.txt :进入编辑器的命令模式
  33. :w :保存
  34. :wq :保存并退出,或 :x
  35. :q! : 强制退出,不保存
  36. 命令 | 说明
    -------- | -----
    yy | 复制光标所在行

    |往右缩进
    << | 往左缩进
    .| 重复上一次命令
    p | 粘贴
    dd | 删除或剪切当前行
    V | 按行选中
    G|回到最后一行
    gg | 回到第一行
    u | 撤销
    ctrl + r | 反撤销
    数字 + G | 回到指定行
    shift + 6|回到当前行的行首
    shift + 4 | 回到当前行的行末
    ctrl + f | 下一屏
    ctrl + b|上一屏
    V+G|全选

四、其他命令

  1. init 0 :系统关机
  2. init 6 :重新启动系统
  3. head -n 8 文件名 :查看前8行内容
  4. tail -n 8 文件名 :查看前8行内容
  5. 将 /root 目录下 a.cfg 文件拥有者改变为nobody
    ls -l a.cfg :查看改文件权限
    chown nobody a.cfg :改变拥有者权限为nobody
    ls -l a.cfg :查看是否成功
  6. 将 /root 目录下的所有文件的拥有者改变为 nobody
    pwd :显示当前路径是否为 /root
    chown nobody * :改变权限
    ls -l :查看是否成功
  7. chgrp命令改变指定文件所属的用户组 ,同上
相关文章
|
15天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
111 5
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
2天前
|
缓存 监控 Linux
|
5天前
|
Linux Shell 数据安全/隐私保护
|
6天前
|
域名解析 网络协议 安全
|
13天前
|
监控 Linux Shell
|
12天前
|
运维 监控 网络协议
|
16天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
28 3
Linux | Rsync 命令:16 个实际示例(下)
|
19天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
75 2
Linux系统之lsof命令的基本使用
|
2天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2