【Linux学习】常用命令100条
【Linux学习】常用命令100条
ZhangCurry【Linux学习】常用命令100条
文件和目录管理
mkdir :创建目录。例如 mkdir mydir ,会在当前目录下创建名为 mydir 的目录。
mkdir -p :递归创建目录。 mkdir -p a/b/c ,可以创建层级目录 a/b/c,若 a、b 目录不存在也会一并创建。
rmdir :删除空目录。如 rmdir mydir ,删除名为 mydir 的空目录。
cd :切换目录。 cd ,直接回到用户家目录; cd ~username ,进入指定用户的家目录。
cd.. :返回上一级目录。
cd - :在当前目录和前一次所在目录来回切换。
ls :列出目录内容。默认显示当前目录下的文件和目录。
ls -l :以详细列表形式显示文件属性,等同于 ll 。
ls -h :对文件大小做相应单位转换后显示,更易读。
ls -a :显示所有文件,包括以。开头的隐藏文件。
ls -A :显示除。和.. 以外的所有文件。
ls -d :仅显示目录自身属性。
ls -i :显示文件的索引节点号码(inode)。
ls -r :逆序显示文件列表。
ls -R :递归显示文件及子目录内容。
cp :复制文件或目录。如 cp file1 file2 ,将 file1 复制为 file2; cp -r dir1 dir2 ,递归复制 dir1 目录及其内容到 dir2。
cp -i :交互式复制,遇到同名文件会询问是否覆盖。
cp -f :强制复制,覆盖同名文件时不询问。
cp -p :保留源文件属性,如时间戳等。
cp -a :归档复制,常用于备份,保留源文件所有属性。
mv :移动或重命名文件。在同一目录下 mv oldname newname ,可重命名文件; mv file /path/to/dir ,可将 file 文件移动到指定目录。
rm :删除文件。 rm file ,删除名为 file 的文件。
rm -i :交互式删除,删除前会询问确认。
rm -f :强制删除,不提示,谨慎使用。
rm -r :递归删除目录及其子目录和文件,如 rm -rf dir 。
touch :创建空文件或更新文件时间。 touch newfile ,创建名为 newfile 的空文件。
touch -a :仅修改文件的访问时间。
touch -m :仅修改变动时间。
tree :查看当前目录文件树结构。 tree 显示当前目录, tree mydir 显示指定目录 mydir 的文件树。
文件查看与编辑
cat :查看或连接文件内容。 cat file ,显示 file 文件的全部内容。
cat -n :显示文件内容并为每行加上行号。
cat -E :显示文件内容,在每行结束处显示 $ 符号。
head :显示文件开头部分内容,默认显示前 10 行。 head -n 5 file ,显示 file 文件的前 5 行。
tail :显示文件结尾部分内容,默认显示后 10 行。 tail -n 5 file ,显示 file 文件的后 5 行。
tail -f :持续跟踪文件尾部内容,常用于查看日志文件更新。
less :分屏查看文件内容,可前后翻页、搜索等。按空格向后翻一屏,b 向前翻一屏,/keyword 向后搜索关键字,?keyword 向前搜索关键字,n 下一个关键字位置,N 前一个关键字位置,q 退出。
grep :在文件中搜索文本。 grep “keyword” file ,在 file 文件中查找包含 keyword 的行。
grep -v :查找不包含指定内容的行。 grep -v “keyword” file ,在 file 文件中查找不包含 keyword 的行。
grep -i :查找时忽略大小写。 grep -i “Hello” file ,在 file 文件中查找 hello、HELLO 等形式的字符串。
grep -r :在指定目录及其子目录下递归查找。 grep -r “keyword” /path/to/dir ,在指定目录及其子目录的所有文件中查找 keyword。
vi :经典文本编辑器。进入命令模式后,按 i 进入插入模式编辑文本,按 Esc 回到命令模式,:w 保存,:q 退出,:wq 保存并退出,:q! 不保存强制退出。
nano :简单易用的文本编辑器,界面友好,适合新手。直接输入 nano file 即可编辑 file 文件,按 Ctrl+O 保存,Ctrl+X 退出。
用户和群组管理
useradd :添加用户。 useradd newuser ,添加名为 newuser 的用户。
useradd -u :指定用户 ID。 useradd -u 1001 newuser ,添加用户 newuser 并指定其 ID 为 1001。
useradd -g :指定用户所属主组。 useradd -g groupname newuser ,添加用户 newuser 并指定其主组为 groupname。
useradd -G :指定用户附加组。 useradd -G group1,group2 newuser ,添加用户 newuser 并指定其附加组为 group1 和 group2。
userdel :删除用户。 userdel newuser ,删除名为 newuser 的用户,默认不删除其家目录。
userdel -r :删除用户及其家目录。 userdel -r newuser ,彻底删除用户 newuser 及其家目录。
passwd :更改用户密码。 passwd ,更改当前用户密码; passwd newuser ,更改 newuser 用户的密码。
groupadd :添加群组。 groupadd newgroup ,添加名为 newgroup 的群组。
groupdel :删除群组。 groupdel newgroup ,删除名为 newgroup 的群组。
groups :列出用户所属群组。 groups username ,列出 username 用户所属的群组。
进程管理
ps :显示当前进程。 ps aux ,显示所有用户的所有进程详细信息; ps -ef ,以全格式显示进程信息。
ps -ef | grep :结合 grep 查找特定进程。 ps -ef | grep firefox ,查找与 firefox 相关的进程。
kill :终止进程。 kill 1234 ,终止进程 ID 为 1234 的进程; kill -9 1234 ,强制终止进程 ID 为 1234 的进程(谨慎使用)。
top :实时显示系统活动进程及资源占用情况。可按 M(内存占用)、P(CPU 占用)等键对进程排序。
free :显示内存使用情况。 free -m ,以 MB 为单位显示内存使用情况。
htop :增强版的 top 命令,界面更友好,功能更强大,可通过包管理器安装。
网络管理
ifconfig :显示和配置网络接口信息。在较新系统中,也可用 ip addr 替代部分功能。
ping :测试网络连接。 ping 192.168.1.1 ,测试与 192.168.1.1 的网络连通性。
ping -c :指定 ping 的次数。 ping -c 5 192.168.1.1 ,向 192.168.1.1 发送 5 次 ping 请求。
traceroute :追踪网络路径。 traceroute 192.168.1.1 ,显示到 192.168.1.1 的网络路由路径。
netstat :显示网络连接、路由表等信息。 netstat -anp ,显示所有网络连接及对应的进程信息。
ssh :通过安全通道远程登录其他计算机。 ssh username@remote_ip ,以 username 用户身份远程登录到 remote_ip 的主机。
scp :在 Linux 服务器之间复制文件和目录。 scp local_file remote_username@remote_ip:remote_folder ,从本地复制文件到远程服务器; scp remote_username@remote_ip:remote_file local_folder ,从远程服务器复制文件到本地。
wget :下载文件。 wget http://www.mvday.com/file.zip ,从指定网址下载 file.zip 文件。
系统管理
mount :挂载文件系统。 mount /dev/sda1 /mnt ,将 /dev/sda1 设备挂载到 /mnt 目录。
umount :卸载文件系统。 umount /mnt ,卸载 /mnt 目录挂载的文件系统。
fdisk -l :查看磁盘分区信息。列出系统中所有磁盘的分区情况。
df :显示磁盘使用情况。 df -h ,以易读的方式显示磁盘空间使用情况。
du :显示文件或目录大小。 du -sh /path/to/dir ,以易读的方式显示指定目录的总大小。
date :显示和设置系统时间。 date ,显示当前系统时间; date -s “2024-10-01 12:00:00” ,设置系统时间。
cal :显示日历。 cal ,显示当前月份日历; cal 2024 ,显示 2024 年全年日历。
reboot :重启系统。直接执行该命令,系统将重启。
shutdown -h now :立即关机。执行后系统马上关机。
shutdown -h 10 :10 分钟后关机。10 分钟后系统将关机。
shutdown -c :取消关机计划。若之前设置了关机计划,执行此命令可取消。
uname -a :显示系统内核等信息。如显示内核版本、主机名等。
uptime :显示系统运行时间及负载情况。可查看系统已运行时间、当前系统负载等。
lscpu :查看 CPU 信息。包括 CPU 核心数、型号等。
free :查看内存使用情况,可显示总内存、已用内存、空闲内存等。
文本处理
cut :从文本中提取指定字段。 cut -d: -f1 /etc/passwd ,以:为分隔符,提取 /etc/passwd 文件中的第一个字段。
sort :对文本文件内容进行排序。 sort file ,对 file 文件内容按 ASCII 码字符升序排列; sort -n file ,按数值大小从小到大排列。
sort -r :降序排列。 sort -r file ,对 file 文件内容按 ASCII 码字符降序排列。
uniq :检查及删除文本文件中重复出现的行。 uniq file ,去除 file 文件中相邻的重复行; uniq -d file ,只显示重复行; uniq -c file ,显示每行重复出现的次数。
wc :统计文本文件中的行数、单词数、字符数。 wc file ,统计 file 文件的行数、单词数、字符数; wc -l file ,只统计行数; wc -w file ,只统计单词数; wc -c file ,只统计字符数。
tr :转换或删除字符。 tr ‘a-z’ ‘A-Z’ < file ,将 file 文件中的小写字母转换为大写字母; tr -d ‘abc’ < file ,删除 file 文件中出现的 abc 字符。
tee :将输出发送到多个文件或命令。 echo “Hello” | tee file1 file2 ,将 Hello 同时输出到 file1 和 file2 文件,并且在终端也显示。
其他常用命令
help :显示内部命令帮助。 help cd ,查看 cd 命令的帮助信息。
man :查看命令手册页。 man ls ,查看 ls 命令详细手册,按空格向后翻屏,b 向前翻屏,q 退出。
info :查看命令更详细的信息。 info ls ,提供比 man 更详细的 ls 命令信息。
locate :在系统中查找文件。 locate filename ,快速查找系统中名为 filename 的文件,需提前更新数据库(可通过 updatedb 命令)。
find :在指定目录结构中查找文件。 find /path/to/dir -name “*.txt” ,在指定目录及其子目录中查找所有 txt 文件。
history :显示历史命令。可查看之前在终端执行过的命令。
alias :定义命令别名。 alias ll=’ls -l’ ,定义 ll 为 ls -l 的别名,后续输入 ll 就等同于执行 ls -l。
unalias :取消命令别名。 unalias ll ,取消之前定义的 ll 别名。
clear :清除终端屏幕。执行后清屏,方便重新输入命令。
exit :退出终端会话。关闭当前终端窗口。
echo :输出内容到终端。 echo “Hello, World!” ,在终端显示 Hello, World!; echo -n “No newline” ,输出后不换行。
time :统计命令执行时间。 time command ,执行 command 命令并统计其执行时间,包括实际时间、用户时间、系统时间。



