Skip to content

前端学习运维,更加倾向于在工作中的实用性,今天汇总了在工作中经常使用的 Linux 命令

一、Linux 常见目录

目录解释
/根目录
当前用户家目录
/boot启动目录,启动相关文件
/dev设备文件
/etc配置文件
/lib系统库保存目录
/mnt移动设备挂载目录
/media光盘挂载目录
/misc磁带机挂载目录
/root超级用户的家目录,可以操作
/home普通用户的家目录,可以操作
/tmp临时目录,可以操作
/var变量
/bin普通的基本命令,如ls,chmod等, 普通用户都可使用
/sbin基本的系统命令,如 shutdownreboot,用于启动系统,修复系统,仅管理员才可运行

二、文件处理命令

2.1、mkdir

  • 创建目录,mkdir directory
  • -p, 递归创建目录
shell
# 递归创建 b,c 目录
mkdir -p b/c 

2.2、cd

  • 切换所在目录,change directory
目录解释
~家目录
.当前目录
..上级目录

2.3、pwd

  • 显示当前目录

2.4、rmdir

  • 删除空目录, remove empty directory
  • rmdir [目录名]

2.5、rm

  • 删除文件或者目录, remove

  • rm [文件或者目录]

    • -r 删除目录
    • -f 强制删除
  • rm -rf [文件或者目录], 递归强制删除所有目录

2.6、cp

  • 复制命令, copy

  • copy [源文件或者目录] [目标文件]

    • -r 复制目录,默认是复制文件
    • -i 会在复制文件的时候给提示,如果复制的目标文件存在,会给你提示是否要覆盖
    shell
    mkdir afolder
    mkdir bfolder
    cd afolder/
    touch 1.txt
    cp 1.txt ~/bfolder/
    

2.7、mv

  • 移动文件或者改名, move
  • mv [源文件或者目录] [目标文件]
shell
# 重命名
mv 1.txt 2.txt
# 移动
mv 2.txt a/

2.8、ln

  • 链接命令, 生成链接文件, link
  • ln -s [源文件] [目标文件]
    • -s 创建软链接
  • 修改任意一个文件,另一个都会改变
  • 删除源文件,软链接不能使用
  • 软链接源文件必须写绝对路径

三、文件搜索命令

3.1、locate

安装

yum  -y install mlocate

特点

  • 在后台数据库中按文件名搜索,速度比较快
  • 数据保存在/var/lib/mlocate/mlocate.db 后台数据库,默认每天更新一次
  • 可以updatedb命令立刻更新数据库
  • 只能搜索文件名

3.2、whereis

搜索命令所在路径以及帮助文档所在位置

whereis 命令名

  • -b 只查找可执行文件
  • -m 只查找帮助文件
shell
# whereis cd
# cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz

3.3、which

  • 可以看到别名 which ls
shell
# which ls
# alias ls='ls --color=auto'
#  /usr/bin/ls

3.4、find

文件搜索命令, find [搜索范围] [搜索条件]

3.4.1、按名称搜索

shell
# find / -name 11.txt

注意:避免大范围的搜索,会非常消耗系统资源

3.4.2、通配符

通配符解释
*匹配任意内容
?匹配任意一个字符
[]匹配中括号内任意一个字符
shell
# touch abc.txt
# find . -name "ab[cdef].txt"

3.4.3、-i

不区分大小写

shell
# find . -iname "Ab[cdef].txt"

3.4.4、按时间搜索

shell
# find . -mtime +5
参数含义
atime文件访问时间
ctime创建文件时间
mtime修改文件时间
参数含义
-55天前之内修改的文件
55天前当天修改的文件
+55天前之前修改的文件

3.4.5、按大小搜索

shell
# find . -size +0k
参数含义
-8k小于8K
8k等于8K
+8k大于8K
+8M大于8M

3.4.6、综合搜索

shell
# find /tmp -size +10k -a -size -20k
  • 查找 /tmp 目录下,大于10KB并且小于20KB的文件
  • -a and 逻辑与,两个条件都满足
  • -o or 逻辑或,两个条件满足一个就可以

3.5、grep

在文件当中匹配符合条件的字符串

  • -i 忽略大小写
  • -v 排除指定字符串
shell
# a.txt
123
abc
XYZ

# grep b a.txt
abc
# grep -v b a.txt
123
XYZ
# grep -i x a.txt
XYZ

四、文件压缩与解压

4.1、zip

一种压缩格式, 支持压缩文件或目录

  • 安装
yum install -y unzip zip
  • 命令
功能命令
压缩文件zip 压缩后文件名.zip 源文件
压缩文件zip -r 压缩后文件名.zip 源文件
解压unzip 压缩后目录名.zip
  • 缺点

压缩效率低

4.2、gzip

gzip 为高压,可以把文件压缩得更小

  • 命令
命令示例含义
gzip 源文件gzip book.txt压缩为.gz格式,删除源文件
gzip -c 源文件 > 压缩文件gzip -c book.txt > book.txt.gz压缩为.gz格式,不会删除源文件
gzip -r 目录gzip -r book把目录下的每个层级的子文件都压缩,并删除原文件,当前目录无变化
gzip -d 压缩文件名gzip -d 1.txt.gz解压缩文件,不保留压缩包
gunzip 压缩文件gunzip 2.txt.gz解压缩文件,也不保留压缩包
  • 缺点

不支持压缩目录

4.3、tar

tar 打包命令,只打包并不压缩

  • 命令
    • -c 打包
    • -v 显示过程
    • -f 指定打包后的文件名
    • -x 解开包
shell
# 打包
tar -cvf 打包文件名 源文件
# 解开包
tar -xvf 打包文件名

4.1、tar.gz

先打包为.tar格式,再压缩为.gz格式

命令示例含义
tar -zcvf 压缩包名.tar.gz 源文件tar -zcvf book.tar.gz book先打包,再压缩
tar -zxvf 压缩包名.tar.gztar -zxvf book.tar.gz解压tar.gz压缩包

五、文件查看命令

5.1、cat

用于连接文件并打印到标准输出设备上

  • 命令
shell
cat [-AbeEnstTuv] [--help] [--version] fileName
  • 参数
    • -n--number:从 1 开始对所有输出的行数进行编号

5.2、more

类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读

  • 命令
shell
more fileName
  • 指令
    • 按空白键(space), 显示下一页
    • 按b键(back), 显示上一页

5.3、head

  • 命令
shell
head [参数] [文件名]
  • 参数
    • -n<行数>: 显示文件的头部前 n 行内容

5.4、tail

用于查看文件的内容

  • 命令
shell
tail [参数] [文件名]
  • 参数
    • -n<行数>: 显示文件的尾部 n 行内容
    • -f: 循环读取,跟踪文件变化

六、登录信息

6.1、w

查看登录用户信息

输出Title含义
USER登录的用户名
TTY登录的终端, tty1 本地终端; pts/0 远程终端
FROM登录的IP
LOGIN登录时间
IDLE用户闲置时间
JCPU该终端所有进程占用的时间
PCPU当前进程所占用的时间
WHAT正在执行的命令

6.2、who

查看登录用户信息

输出Title含义
USER登录的用户名
TTY登录的终端, tty1 本地终端; pts/0 远程终端
LOGIN登录时间(登录的IP)

6.3、last

查看当前登录和过去登录的用户信息, 默认读取 /var/log/wtmp 文件

6.4、lastlog

查看所有用户的最后一次登录时间

七、用户组和用户

使用操作系统的人都是用户,用户组是具有相同系统权限的一组用户

7.1、配置文件

  • /etc/group: 存储当前系统中所有用户组信息
  • /etc/gshadow: 存放当前系统中用户组的密码信息, 与 etc/group 中的记录一一对应
  • /etc/passwd: 存储当前系统中所有用户的信息
  • /etc/shadow: 存放当前系统中所有用户的密码信息

7.2、命令操作

用户组

命令示例含义
groupadd xxxgroupadd stu添加用户组
groupadd -g num xxxgroupadd -g 666 teacher添加用户组并指定编号
groupmod -n newX oldXgroupmod -n student stu用户组重命名
groupmod -g 999 xxxgroupadd -g 999 student修改用户组编号
groupdel xxxgroupdel student删除用户组

用户

命令示例含义
useradd -g <group> <name>useradd -g student Bob创建用户并指定用户组
useradd -d <path> <name>useradd -d /home/Jack Jack创建用户并指定Home目录
passwd <name>passwd Bobroot用户可以设置用户的密码
usermod -d <path> <name>usermod -d /home/Jack2 Jack修改个人Home目录
usermod -g <group> <name>usermod -g teacher Bob修改用户组
userdel <name>userdel Bob删除用户
userdel -r <name>userdel -r Bob删除用户并删除对应的Home目录
id <name>id Bob显示用户的组信息