常见命令

文件和目录操作命令

ls 命令(‼️)

1
ls [选项] [文件或目录]

常用选项:

  • -l 列出长格式
  • -a 列出所有文件,包括隐藏文件
  • -h 人性化显示文件大小
  • -R 递归显示子目录

示例:

  • ls -l 列出当前目录下所有文件和目录的详细信息
  • ls -a 列出当前目录下所有文件,包括隐藏文件
  • ls -lh 人性化显示文件大小

cd 命令 (‼️)

1
cd [目录]

示例:

  • cd /home/user 切换到用户主目录
  • cd .. 切换到上一级目录
  • cd ~ 切换到当前用户的家目录

mkdir 命令(‼️)

1
mkdir [选项] 目录名

常用选项:

  • -p 递归创建目录
  • -m 设置目录权限

示例:

  • mkdir mydir 创建名为mydir的目录
  • mkdir -p /tmp/a/b/c 递归创建多级目录

rm 命令(‼️)

remove缩写

1
rm [选项] 文件或目录

常用选项:

  • -r 递归删除目录及其下所有内容
  • -f 强制删除,不进行提示
  • -i 删除前逐一询问

示例:

  • rm file.txt 删除文件file.txt
  • rm -r mydir 递归删除目录mydir

mv 命令(‼️)

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

常用选项:

  • -i 移动前逐一询问确认
  • -u 当源文件比目标文件新时才移动

示例:

  • mv file.txt newname.txt 重命名文件
  • mv *.txt documents/ 移动所有txt文件到documents目录

cat 命令(‼️)

1
cat [选项] 文件

常用选项:

  • -n 显示行号

示例:

  • cat file.txt 查看文件file.txt的内容
  • cat -n file.txt 显示行号

pwd 命令(‼️)

pwd命令是Linux系统中用于显示当前工作目录的绝对路径的命令。

1
pwd [选项]

常用选项

  • -L--logical(默认选项) 显示环境变量$PWD的值,即使它是一个符号链接。[1][3][5]
  • -P--physical 显示当前工作目录的物理路径,不跟随符号链接。[1][3][5]
  • --help 显示帮助信息。[5]
  • --version 显示版本信息。[5]

示例:

显示当前工作目录路径

1
2
[root@localhost ~]# pwd
/root

cp 命令

1
cp [选项] 源文件或目录 目标文件或目录

常用选项:

  • -r 复制目录及其子内容
  • -i 覆盖前逐一询问
  • -u 当源文件比目标文件新时才复制

示例:

  • cp file.txt newfile.txt 复制文件
  • cp -r mydir newdir 递归复制目录mydir到newdir

head 命令

1
head [选项] 文件

常用选项:

  • -n 指定显示行数

示例:

  • head file.txt 显示文件开头10行
  • head -n 20 file.txt 显示文件开头20行

tail 命令

1
tail [选项] 文件

常用选项:

  • -n 指定显示行数
  • -f 实时监视文件更新

示例:

  • tail file.log 显示文件结尾10行
  • tail -n 30 file.log 显示文件结尾30行
  • tail -f app.log 实时监视app.log文件更新

系统管理命令

uname 命令(‼️)

1
uname [选项]

常用选项:

  • -a:显示所有系统信息。
  • -r:显示内核版本。

示例:

  • uname: 显示系统名称。

  • uname -a: 显示所有系统信息。

  • uname -r: 显示内核版本。

ps 命令(‼️)

1
ps [选项]

常用选项:

  • -e 显示所有进程
  • -f 全格式显示
  • -u 显示用户ID
  • aux 显示所有进程,包括其他用户进程

示例:

  • ps 显示当前终端进程
  • ps -ef 显示所有进程的全格式列表
  • ps aux 查看所有进程详细信息

kill 命令(‼️)

1
kill [选项] 进程ID

常用选项:

  • -9 强制终止进程

示例:

  • kill 1234 终止进程ID为1234的进程
  • kill -9 1234 强制终止进程ID为1234的进程

shutdown 命令

1
shutdown [选项] 时间 [警告消息]

常用选项:

  • -r 重启系统
  • -h 完全关闭系统
  • -c 取消已经执行的shutdown命令

示例:

  • shutdown -r 18:00 "System reboot at 18:00" 设置18:00重启系统
  • shutdown -h now 立即关闭系统
  • shutdown -c 取消已经执行的关机/重启命令

reboot 命令

1
reboot

示例:

  • reboot 重启系统

top 命令

1
top [选项]

常用选项:

  • -d 指定更新间隔时间
  • -p 监视指定进程ID的进程

示例:

  • top 查看系统实时运行状态
  • top -d 2 每2秒更新一次
  • top -p 1234,2345 监视进程ID为1234和2345的进程

free 命令

1
free [选项]

常用选项:

  • -h 人性化显示内存使用量
  • -m 以MB为单位显示内存使用量

示例:

  • free 查看内存使用情况
  • free -h 人性化显示内存使用量

df 命令

1
df [选项]

常用选项:

  • -h 人性化显示磁盘使用量
  • -T 显示文件系统类型

示例:

  • df 查看磁盘使用情况
  • df -hT 人性化显示磁盘使用量和文件系统类型

du 命令

1
du [选项] [文件或目录]

常用选项:

  • -h 人性化显示文件大小
  • -s 只显示总计大小
  • -c 显示总计大小

示例:

  • du -h /home 查看/home目录大小
  • du -sh * 查看当前目录下所有文件和子目录的总大小

网络命令

ping 命令(‼️)

1
ping [选项] 主机  

常用选项:

  • -c 指定发送包的数量
  • -i 指定发送包的间隔时间

示例:

ifconfig 命令

1
ifconfig [网络设备] [参数]

常用参数:

  • up 启用指定网络设备
  • down 禁用指定网络设备
  • IP地址 为指定网络设备指定IP地址
  • netmask 为指定网络设备指定子网掩码

示例:

  • ifconfig 查看所有网络接口的状态
  • ifconfig eth0 up 启用eth0网卡
  • ifconfig eth0 192.168.1.100 netmask 255.255.255.0 设置eth0的IP和子网掩码

netstat 命令

1
netstat [选项]

常用选项:

  • -a 列出所有连接
  • -n 不解析主机名和服务名
  • -p 显示进程ID和程序名
  • -r 显示路由表
  • -l 仅列出监听状态的连接

示例:

  • netstat -antp 列出所有连接及进程信息
  • netstat -r 查看路由表
  • netstat -ln 查看监听端口

telnet 命令

1
telnet [选项] 主机 [端口]

常用选项:

  • -8 允许使用8位数据路径
  • -E escapre字符改为其他字符

示例:

  • telnet www.example.com 80 连接example.com的80端口
  • telnet 192.168.1.100 连接IP为192.168.1.100的主机

用户和权限管理命令

用户权限的描述如下图

截屏2024-05-11 20.24.13

文字描述如下

Linux是一个多用户操作系统,每个文件和目录都有所有者(owner)、所属组(group)和其他用户(others)三种身份类型。

对于每种身份类型,Linux使用”rwx”三个字母分别表示读(read)、写(write)和执行(execute)三种基本权限。

  • r(读权限)允许查看文件内容
  • w(写权限)允许修改文件内容
  • x(执行权限)允许执行文件或切换到目录

通过ls -l命令可以查看文件或目录的权限信息,例如”rwxr-xr–”表示:所有者具有读、写、执行权限,所属组只有读和执行权限,其他用户只有读权限。

权限可以用数字表示,其中r=4、w=2、x=1,三个值相加即为该身份类型的权限值。例如7=4+2+1表示所有权限,6=4+2表示读写权限。

chmod 命令(‼️)

1
chmod [选项] 模式 文件或目录

常用选项:

  • -R 递归修改目录下所有文件和子目录

示例:

  • chmod 777 file.sh 设置file.sh的权限为777
  • chmod -R 644 documents/ 递归设置documents目录下所有文件权限为644

useradd 命令

1
useradd [选项] 用户名

常用选项:

  • -m 自动创建用户家目录
  • -g 指定用户所属的用户组
  • -G 指定用户所属的附加组
  • -s 指定用户登录的shell

示例:

  • useradd -m newuser 创建一个新用户newuser并创建家目录
  • useradd -g devgroup newdev 创建新用户newdev,所属组为devgroup

userdel 命令

1
userdel [选项] 用户名

常用选项:

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

示例:

  • userdel user1 删除用户user1
  • userdel -r olduser 删除用户olduser及其家目录

passwd 命令

1
passwd [选项] [用户名]

常用选项:

  • -l 锁定用户密码,使密码无效
  • -u 解锁用户密码
  • -d 删除用户密码,允许空密码登录

示例:

  • passwd 修改当前用户密码

  • passwd user1 为用户user1修改密码

  • passwd -l user2 锁定user2的密码

chown 命令

1
chown [选项] 用户[:用户组] 文件或目录

常用选项:

  • -R 递归修改目录下所有文件和子目录

示例:

  • chown user1 file.txt 将file.txt的所有者改为user1
  • chown user1:devgroup docs/ 将docs目录的所有者改为user1,所属组改为devgroup

软件包管理命令

yum 命令 (RedHat系)

1
yum [选项] [操作] [软件包]

常用选项:

  • -y 自动回答yes
  • --skip-broken 忽略有问题的软件包

常用操作:

  • install 安装软件包
  • update 更新软件包
  • remove 卸载软件包
  • list 列出软件包
  • search 搜索软件包

示例:

  • yum install nginx 安装nginx
  • yum update 更新所有软件包
  • yum remove httpd 卸载httpd
  • yum list installed 列出已安装的软件包

apt 命令 (Debian系)

1
apt [选项] [操作] [软件包]

常用选项:

  • -y 自动回答yes

常用操作:

  • install 安装软件包
  • update 更新软件包列表
  • upgrade 升级已安装的软件包
  • remove 卸载软件包
  • search 搜索软件包

示例:

  • apt install apache2 安装apache2
  • apt update 更新软件包列表
  • apt upgrade 升级已安装的软件包
  • apt remove php 卸载php
  • apt search editor 搜索编辑器软件包

其他常用命令

man 命令

1
man [命令]

示例:

  • man ls 查看ls命令的帮助手册

which 命令

1
which [命令]

示例:

  • which python 查找python命令的位置

find 命令

1
find [路径] [选项] [查找模式]

常用选项:

  • -name 按文件名查找
  • -iname 按文件名查找,忽略大小写
  • -user 按文件所有者查找
  • -size 按文件大小查找

示例:

  • find . -name "*.txt" 在当前目录查找txt文件
  • find /home -iname "README" 在/home目录下不分大小写查找README文件
  • find / -user root 查找所有者为root的文件

grep 命令

1
grep [选项] 查找模式 [文件]

常用选项:

  • -i 忽略大小写
  • -n 显示匹配行行号
  • -r 递归查找子目录
  • -v 反向查找,显示不匹配行

示例:

  • grep "error" app.log 在app.log中查找error
  • grep -i "warning" *.log 忽略大小写在所有log文件中查找warning
  • grep -rn "TODO" /path 递归查找TODO并显示行号

tar 命令

1
tar [选项] [文件或目录]

常用选项:

  • -c 创建压缩文件
  • -x 解压文件
  • -z 使用gzip压缩
  • -j 使用bzip2压缩
  • -v 显示详细信息
  • -f 指定压缩文件名

示例:

  • tar -czf archive.tar.gz files/ 使用gzip压缩files目录为archive.

Vim编辑器

它主要分为三种模式:命令模式、插入模式和底行模式。

命令模式

命令模式用于控制光标移动、删除文本、复制粘贴等操作,不能直接输入文本。一些常用命令:

  • h/j/k/l分别控制光标左/下/上/右移动
  • x删除光标所在字符
  • dd删除整行(‼️)
  • yy复制当前行
  • p/P粘贴到光标后/前
  • /pattern查找pattern
  • n/N查找下/上一个匹配项
  • u - 撤销上一步操作(‼️)
  • U - 撤销对当前行的所有操作
  • Ctrl+r - 重做上一步被撤销的操作(‼️)

插入模式

在命令模式下按i进入插入模式,可以直接输入文本。按Esc键退出插入模式回到命令模式。

尾行模式

在命令模式下按:进入底行模式,可执行一些命令:

  • :w保存文件
  • :q退出
  • :wq将当前编辑的文件内容写入磁盘保存,然后退出Vim编辑器(‼️)
  • :q!强制退出不保存
  • :x保存并退出
  • :/pattern查找pattern
  • :n跳转到第n行

Vim功能强大,上述只是一些基本用法,还有很多高级技巧如多窗口编辑、代码折叠等,需要持续学习掌握。[1][2][3][4][5]