【Linux】常用命令

文章目录

Linux 常用命令

命令中以[]围起来的表示可选项

常用的快捷操作和命令:

  1. Ctrl + lclear 清屏
  2. Ctrl + c 终止当前命令
  3. Ctrl + d 退出当前用户,也可以用于退出某些特定程序的专属页面,比如python
  4. history 查看历史输入过的命令
  5. Ctrl + r 历史命令搜索
  6. Ctrl + a 跳到命令开头
  7. Ctrl + e 跳到命令末尾
  8. Ctrl + 键盘左键 向左跳一个单词
  9. Ctrl + 键盘右键 向右跳一个单词

ls (list 列出目录的内容)

ls [-a -l -h] [目录路径]

选项:

  • -a 显示所有文件,包括隐藏文件
  • -l 显示详细信息
  • -h 人性化显示文件大小(必须搭配-l一起使用

提示:直接ls会显示当前登录用户的home目录(/home/用户名),并且平铺展示

cd (change directory 切换目录)

cd [目录路径]

提示:cd命令后面不跟路径,则默认切换到当前用户的home目录

pwd (print working directory 显示当前目录)

pwd

相对路径、绝对路径、特殊路径符

  • 相对路径:以当前目录为起点,如./../
  • 绝对路径:以根目录为起点,如//home/用户名/Desktop
  • 特殊路径符:
    • ~表示当前用户的home目录
    • .表示当前目录
    • ..表示上一级目录

mkdir (make directory 创建目录)

mkdir [-p] 目录路径

选项:

  • -p 递归创建目录

提示:创建目录时,如果目录名中有空格,需要用""括起来

touch (创建文件)

touch 文件路径

cat (concatenate 查看文件内容,全部展示)

cat 文件路径

more (显示文件内容,一页一页显示)

more 文件路径

提示:通过空格翻页;按q退出

cp (copy 复制文件)

cp [-r] 源文件路径 目标文件路径

选项:

  • -r 递归复制目录

提示:如果目标文件已经存在,则会询问是否覆盖该文件

mv (move 移动文件/文件夹)

mv 源文件路径 目标文件路径

提示:如果目标文件路径不存在,则具有改名效果

rm (remove 删除文件/文件夹)

rm [-r -f] Linux路径(可写多个,空格隔开)

选项:

  • -r 递归删除目录
  • -f 强制删除(force,不会弹窗询问信息)

通配符

符号*表示通配符,即匹配任意内容(包含空),示例:

  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • *test*,表示匹配任何包含test的内容

演示:

  1. 删除所有以test开头的文件或文件夹
      rm -r test*
    
  2. 查找包含test的文件
      find / -name "*test*"
    

which (显示可执行文件路径)

which 可执行文件名

示例:查询pwd命令所在路径

which pwd

find (查找文件/文件夹)

  • 按文件名查找

    find 起始路径 -name "被查找文件名" [-type x]
    

    -type x 指定查找的文件类型,x可选值为:

    • f 表示文件
    • d 表示目录
    • l 表示链接文件

    示例:在/learn目录下查找test.text文件

    find /learn -name "test.text" -type f
    
  • 按文件大小查找

    find 起始路径 -size +|-n[kMG]
    
    • +|- 表示大于和小于
    • n 表示文件大小
    • kMG 表示大小单位
      • k 表示单位为kb
      • M 表示单位为MB
      • G 表示单位为GB

    示例:

    1. 查找小于10kb的文件
      find / -size -10k
      
    2. 查找大于1GB的文件
      fint / -size +1G
      

grep (在文件中通过关键字过滤文件行)

grep [-n] "关键字" 文件路径

选项:

  • -n 在结果中显示匹配行的行号

提示:文件路径可作为内容输入端口(即结合管道符使用)

wc (word count 词数统计)

wc [-l -w -c -m] 文件路径

选项:

  • -l 统计行数
  • -w 统计单词数量
  • -c 统计字节数量
  • -m 统计字符数量

提示:如果不填写可选参数,则默认显示行数、单词数量、字节数量

管道符

管道符|表示管道,即将前一个命令的输出作为后一个命令的输入,可嵌套使用

示例:

  1. 显示abc.txt文件中包含hello的行
    cat abc.txt | grep "hello"
    
  2. 显示当前目录中文件名是test的文件
    ls | grep test
    

echo (打印内容)

echo "内容"

重定向符

重定向符>>>

  • >将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>将左侧命令的结果,追加写入到符号右侧执行的文件中

示例:

  1. 覆盖
    echo "hello" > abc.txt
    
  2. 追加
    echo "hello" >> abc.txt
    

tail (查看文件尾部内容,跟踪文件的最新更改)

tail [-f -num] 文件路径

选项:

  • -f 持续跟踪
  • -num 查看尾部多少行,不填默认10行

vi/vim编辑器

vim 文件路径

提示:如果文件路径标识的文件不存在,则编辑新文件,否则编辑已有文件

  • 命令模式:输入vim进入命令模式,输入:wq退出编辑器
  • 输入模式: 输入 i a o进入输入模式,输入ESC进入命令模式
  • 底线命令模式:输入进入底线命令模式,命令回车后进入输入模式
命令模式:
  • i 在当前光标位置,进入输入模式
  • a 在当前光标后,进入输入模式
  • o 在当前行的下一行,进入输入模式
  • I 在当前行的开头,进入输入模式
  • A 在当前行的结尾,进入输入模式
  • O 在当前行的上一行,进入输入模式
  • 0 移动到当前行的开头
  • $ 移动到当前行的结尾
  • / 进入搜索模式
  • n 向下继续搜索
  • N 向上继续搜索
  • dd 删除当前行
  • ndd n是数字,表示删除当前行向下n行
  • yy 复制当前行
  • nyy n是数字,表示复制当前行和下面的n行
  • p 粘贴
  • u 撤销修改
  • ctrl + r 反向撤销修改
  • gg 跳到首行
  • G 跳到尾行
  • dG 从当前行开始,向下全部删除
  • dgg 从当前行开始,向上全部删除
  • d$ 从当前光标开始,删除到本行的结尾
  • d0 从当前光标开始,删除到本行的开头
底线命令模式:
  • :wq 保存并退出
  • :q 退出
  • :q! 强制退出
  • :w 保存
  • :set nu 显示行号
  • :set paste 设置粘贴模式(主要用户外部复制内容到vim时,保持格式不会错乱)

su (switch user 切换用户)

su [-] [用户名]
  • - 切换用户后加载当前用户的环境变量,建议带上
  • 用户名 要切换的用户,省略则表示切换到root

提示:

  • 使用普通用户切换到其他用户,需要输入密码
  • 使用root用户切换到其他用户,无需密码

exit (退回到上一个用户)

exit

提示:也可以使用快捷键:ctrl + d

sudo (super user do 临时以root身份执行命令)

sudo 命令

提示:只有配置了sudo认证的用户,可以使用sudo命令

为普通用户配置sudo认证

  1. 切换到root用户,执行visudo命令(此时会通过vim编辑器打开/ect/sudoers文件)
  2. 在文件最后添加:(username为待配置sudo认证的用户名)
username ALL=(ALL) NOPASSWD:ALL
  1. :wq进行保存并退出vim编辑

创建用户组

限制:需root权限执行

groupadd 组名

删除用户组

限制:需root权限执行

groupdel 组名

创建用户

限制:需root权限执行

useradd [-g -d] 用户名

选项:

  • -g 指定用户的组名,不指定会创建同名组并自动加入,指定则需要组已存在
  • -d 指定用户HOME路径,不指定默认为:/home/用户名

删除用户

限制:需root权限执行

userdel [-r] 用户名

选项:

  • -r 同时删除用户的HOME目录

查看用户所属组

限制:需root权限执行

id [用户名]

用户名:被查看的用户,不填写则查看当前用户

修改用户所属组

限制:需root权限执行

usermod -aG 用户组 用户名

getent (get entries from administrative database 从系统数据库中检索各种信息)

  • 查看系统所有用户信息

    getent passwd
    

    返回内容的格式为:
    用户名:密码(x):用户ID:组ID:描述信息:HOME目录:执行终端

  • 查看系统所有组信息

    getent group
    

    返回内容的格式为:
    组名:组认证(x):组ID

权限控制信息

权限分为10个槽位,第一个位置为文件类型,后面每3个一组,1-3位所属用户权限,4-7为所属用户组权限,8-10位其他用户权限

例如:drwxr-xr-x

文件类型:

  • - 文件
  • d 目录
  • l 软链接

权限:

  • r 读
  • w 写
  • x 执行
  • - 无权限

chmod命令(change mode 修改文件/文件夹的权限信息)

限制:只能是文件、文件夹的所属用户或root用户有权修改

chmod [-R] 权限 目录或文件

选项:

  • -R 递归操作

权限写法:

  1. 普通写法

    chmod -R u=rwx,g=rx,o=x test
    
    • u 表示user,所属用户权限
    • g 表示group,组权限
    • o 表示other,其他用户权限
  2. 快捷写法

    chomd -R 751 test
    
    • r 记为4
    • w 记为2
    • x 记为1
      所以777表示:rwx(7)r-x(5)–x(1)

chown(change owner 修改文件/文件夹的所属用户和用户组)

限制:需root权限执行

chown [-R] [用户][:][用户组] 目录或文件

选项:

  • -R 递归修改
  • 用户 修改所属用户
  • 用户组 修改所属用户组
  • : 用于分割用户和用户组

yum(RPM包软件管理器,用户自动化安装配置Linux软件,并自动解决依赖问题)

限制:需root权限执行以及联网

yum [-y] [install | remove | search] 软件名称

选项:

  • -y 自动确认,无需手动确认安装或卸载过程
  • install 安装
  • remove 卸载
  • search 搜索

systemctl(控制软件启动/关闭)

限制:需root权限执行,并且该软件自动注册过

systemctl start | stop | status | enable | disable 服务名称

选项:

  • start 启动
  • stop 关闭
  • status 查看状态
  • enable 开机自启动
  • disable 关闭开机自启动

ln(link 创建软链接)

ln -s 原路径 新路径

选项:

  • -s 软链接

date(查看系统日期和时间)

date [-d] [+格式化字符串]

选项:

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串
    • %Y 年份
    • %y 年份后两位
    • %m 月份
    • %d 日期
    • %H 小时
    • %M 分钟
    • %S 秒
    • %s 自1970-01-01 00:00:00 UTC 以来的秒数

示例:

data +%Y-%m-%d
data "+%Y-%m-%d %H:%M:%S" // 带有空格时需要加上双引号

带时间计算的示例:

data -d "+1 day" +%Y-%m-%d
data -d "-1 month" +%Y-%m-%d

支持的时间标记为:

  • year 年
  • month 月
  • day 日
  • hour 时
  • minute 分
  • second 秒

修改Linux时区

限制:需root权限执行

方案一:

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

方案二:

下载npt软件,并设置开机自启,该软件会隔一阵子更新系统时区

yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

查看IP地址

ifconfig

查看主机名

hostname

修改主机名

限制:需root权限执行

hostnamectl set-hostname 新主机名

ping(检查指定的网络服务器是否可联通)

ping [-c 次数] 目标IP地址或主机名

选项:

  • -c 检查的次数,不使用将无限次持续检查

示例:

ping -c 3  www.baidu.com

wget(下载文件)

wget [-b] 下载地址

选项:

  • -b 后台下载,会将日志写入到当前工作目录的wget-log文件

示例:

wget -O test.txt http://www.baidu.com

curl(发起http网络请求)

curl [-O] 请求地址

选项:

  • -O 用于下载文件,当请求地址是下载链接时,可使用此选项

示例:

curl cip.cc
curl -O http://****.tar.gz

查看端口占用情况

  • 查看指定IP对外暴露端口

    yum -y install nmap
    nmap IP地址
    
  • 查看本机指定端口号的占用情况

    yum -y install net-tools
    netstat -anp | grep 端口号
    

ps (process status 查看进程信息)

ps [-e -f]

选项:

  • -e 显示所有进程
  • -f 按照特定的格式显示进程信息

kill(关闭进程)

kill [-9] 进程ID

选项:

  • -9 强制关闭进程

top(实时显示系统资源使用情况)

q或者Ctrl + c可退出

top [-p -d -c -n -b -i -u]

选项:

  • -p 只显示某个进程的信息
  • -d 设置刷新时间,默认是5s
  • -c 显示产生进行的完整命令,默认是进程名
  • -n 指定刷新次数,比如top -n 3,刷新输出3次后退出
  • -b 以非交互非全屏模式运行
  • -i 不显示任何闲置(idle)或无用(zombie)的进程
  • -u 查找特定用户启动的进程

交互式选项:

  • h 显示帮助画面
  • c 显示进程的完整命令
  • f 选择需要展示的列
  • M 按照RES排序
  • P 按照CPU使用率排序
  • T 按照TIME排序
  • E 切换顶部内存显示单位
  • e 切换进程内存显示单位
  • l 切换显示平均负载和启动时间信息
  • i 不显示任何闲置(idle)或无用(zombie)的进程
  • t 切换显示CPU状态信息
  • m 切换显示内存信息

df(disk free 查看磁盘使用情况)

df [-h]

iostat(io status 查看磁盘IO情况)

iostat [-x] [刷新间隔] [刷新次数]

选项:

  • -x 显示更多信息
  • 刷新间隔 数字
  • 刷新次数 数字

sar(网络状态监控)

sar -n DEV [刷新间隔] [刷新几次]

选项:

  • -n 查看网络,DEV表示查看网络接口
  • 刷新间隔 数字
  • 刷新次数 数字

环境变量

环境变量是一组信息记录,类型是KeyValue型,用户操作系统运行的时候记录关键信息

其中PATH变量记录了命令的搜索路径,PATH变量的值是多个路径,用冒号隔开

  • 查看环境变量

    env
    
  • 查看环境变量中的某个变量名对应的值

    echo ${变量名}
    

    示例:

    1. echo $PATH
    2. echo ${PATH}ABC // 带上花括号可以跟其他字符组合
    
  • 临时设置环境变量

    export 变量名=变量值
    
  • 永久设置环境变量 1. 针对当前用户生效,~/.bashrc 2. 针对所有用户生效,/etc/profile
    步骤:
    1. cd到对应目录
    2. vim打开对应文件,在文件最后并添加环境变量,例如export TEST=123
    3. 保存退出,执行source 对应生效目录即可立即生效

    提示:如果想给原有PATH变量值追加自定义的路径,可以使用export PATH=$PATH:自定义路径这样的格式

上传和下载

先安装上传下载工具

yum -y install lrzsz
  • 上传文件(receive zomdem)

    rz
    

    cd到想要把文件上传的目录,然后输入rz命令后会图像化显示选择文件的弹窗

  • 下载文件(send zomdem)

    sz 文件名
    

tar(压缩和解压tar类型的文件)

tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n

选项:

  • -c compress 压缩模式
  • -v 显示压缩、解压过程,用于查看进度
  • -x 解压模式
  • -f 指定压缩文件名,-f一定要放在选项最后
  • -z gizp模式,一般位于选项首位
  • -C 指定解压目录

压缩文件

  1. .tar格式压缩
tar -cvf 压缩文件名.tar 要压缩的文件
  1. .tar.gz格式压缩
tar -zcvf 压缩文件名.tar 要压缩的文件

要压缩的文件可以是多个 比如a.text b.text

解压文件

  1. .tar格式解压
tar -xvf 要解压的文件
tar -xvf 要解压的文件 -C 指定解压目录
  1. .tar.gz格式压缩
tar -xvf 要解压的文件
tar -zxvf 要解压的文件 -C 指定解压目录

zip(压缩zip类型的文件)

zip [-r] 压缩文件名.zip 要压缩的文件

选项:

  • -r 递归,当被压缩的包含文件夹时使用

要压缩的文件可以是多个 比如a.text b.text

unzip(解压zip类型的文件)

unzip 解压文件名.zip [-d] 解压到的目录

选项:

  • -d 指定解压目录
  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值