【Linux学习】常用命令100条

【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 命令并统计其执行时间,包括实际时间、用户时间、系统时间。