
ls - 列出目录内容ls命令用于显示目录中的文件和子目录。默认情况下,它仅显示文件名。该命令支持多种选项,以提供更多信息。
ls [选项] [目录]常用选项:
ls -l:以长格式显示,包括文件的权限、所有者、文件大小和最后修改时间。ls -l /home/user输出示例:
total 12
drwxr-xr-x 2 user user 4096 Jan 1 12:34 Documents
-rw-r--r-- 1 user user 123 Jan 1 12:34 file.txtls -a:显示所有文件,包括隐藏文件(以.开头的文件)。ls -a /home/user输出示例:
. .. .bashrc .profile Documents file.txtls -h:以人类可读的格式显示文件大小(如K、M、G)。ls -lh /home/user输出示例:
total 12K
drwxr-xr-x 2 user user 4.0K Jan 1 12:34 Documents
-rw-r--r-- 1 user user 123 Jan 1 12:34 file.txt组合使用选项:
ls -lah /home/user输出示例:
total 12K
drwxr-xr-x 3 user user 4.0K Jan 1 12:34 .
drwxr-xr-x 20 user user 4.0K Jan 1 12:34 ..
-rw-r--r-- 1 user user 220 Jan 1 12:34 .bashrc
-rw-r--r-- 1 user user 655 Jan 1 12:34 .profile
drwxr-xr-x 2 user user 4.0K Jan 1 12:34 Documents
-rw-r--r-- 1 user user 123 Jan 1 12:34 file.txtcd - 切换目录cd命令用于在目录之间导航。它改变当前工作目录。
cd [目录]示例:
cd ~cd ..cd /home/user/Documentscd -pwd - 显示当前目录pwd命令显示当前工作目录的完整路径。
pwd示例:
$ pwd
/home/user/Documentsmkdir - 创建目录mkdir命令用于创建新目录。
mkdir [选项] 目录名常用选项:
mkdir mydirmkdir -p parent/child/grandchildrmdir - 删除空目录rmdir命令用于删除空目录。如果目录非空,则删除失败。
rmdir 目录名示例:
rmdir mydirrm - 删除文件或目录rm命令用于删除文件或目录。删除操作是不可逆的,需谨慎使用。
rm [选项] 文件常用选项:
rm file.txtrm -r mydirrm -f file.txtcp - 复制文件或目录cp命令用于复制文件或目录。
cp [选项] 源文件 目标文件常用选项:
cp file1.txt file2.txtcp -r dir1 dir2mv - 移动或重命名文件或目录mv命令用于移动或重命名文件或目录。
mv [选项] 源文件 目标文件示例:
mv file.txt /new/location/mv oldname.txt newname.txttouch - 创建空文件或更新文件时间戳touch命令用于创建新的空文件或更新现有文件的访问和修改时间。
touch 文件名示例:
touch newfile.txtcat - 连接并显示文件内容cat命令用于连接文件并显示其内容。它通常用于查看文件的内容,但也可用于合并文件。
cat [选项] 文件常用选项:
cat file.txtcat -n file.txttac - 反向显示文件内容tac命令将文件内容按行反序显示。与cat相反。
tac 文件示例:
tac file.txtmore - 分页显示文件内容more命令用于分页显示文件内容,适合查看长文件。
more 文件示例:
more file.txt操作提示:
空格键翻页Enter键逐行滚动q退出less - 分页显示文件内容(支持向前翻页)less命令类似于more,但提供了更多功能,如向前翻页。
less 文件示例:
less file.txt操作提示:
空格键翻页上/下箭头键滚动q退出head - 显示文件开头部分内容head命令显示文件的前几行内容。
head [选项] 文件常用选项:
head -n 10 file.txttail - 显示文件结尾部分内容tail命令显示文件的后几行内容。
tail [选项] 文件常用选项:
tail -n 10 file.txttail -f file.txtnano - 简单易用的文本编辑器nano是一个简单易用的文本编辑器,适合新手。
nano 文件示例:
nano file.txt基本操作:
Ctrl + O:保存文件Ctrl + X:退出编辑器vim - 功能强大的文本编辑器vim是一个功能强大的文本编辑器,适合高级用户。它有两种模式:普通模式和插入模式。
vim 文件示例:
vim file.txt基本操作:
iEsc,输入:wEsc,输入:qchmod - 修改文件权限chmod命令用于更改文件或目录的权限。权限由三部分组成:所有者、组和其他用户。
chmod [选项] 权限 文件权限表示法 :
u+x示例:
chmod 755 file.txtchmod u+x file.txtchown - 修改文件所有者chown命令用于更改文件或目录的所有者和组。
chown [选项] 用户:组 文件示例:
chown root:root file.txtchgrp - 修改文件所属组chgrp命令用于更改文件或目录的组。
chgrp [选项] 组 文件示例:
chgrp staff file.txtps - 显示当前进程ps命令用于显示当前系统的进程列表。
ps [选项]常用选项:
ps auxtop - 实时显示系统资源使用情况top命令实时显示系统资源的使用情况,包括CPU、内存、进程等。
top操作提示:
q退出kill - 终止进程kill命令用于终止进程。
kill [选项] 进程号示例:
kill 12345kill -9 12345df - 显示磁盘空间使用情况df命令显示文件系统的磁盘空间使用情况。
df [选项]常用选项:
df -hdu - 显示目录或文件的磁盘使用情况du命令显示指定目录或文件的磁盘使用情况。
du [选项] [文件]常用选项:
du -hdu -sfree - 显示内存使用情况free命令显示系统内存的使用情况。
free [选项]常用选项:
free -mping - 测试网络连通性ping命令用于测试与目标主机的网络连通性。
ping [选项] 目标地址示例:
ping google.comifconfig - 配置网络接口(旧版工具,已被ip替代)ifconfig命令用于显示和配置网络接口。
ifconfig [接口]示例:
ifconfigip - 显示或配置网络接口ip命令是ifconfig命令的替代工具,用于显示和配置网络接口。
ip addr
ip link set dev 接口名 up/down示例:
ip addrip link set dev eth0 upip link set dev eth0 downnetstat - 显示网络连接、路由表、接口状态等netstat命令用于显示网络连接、路由表、接口状态等信息。
netstat [选项]常用选项:
netstat -anssh - 远程登录ssh命令用于通过SSH协议远程登录到另一台机器。
ssh 用户名@远程主机示例:
ssh user@remotehosttar - 归档文件tar命令用于创建和管理归档文件。
tar [选项] 文件常用选项:
tar -cvf archive.tar 文件tar -xvf archive.tartar -tvf archive.targzip - 压缩文件gzip命令用于压缩文件。
gzip 文件示例:
gzip file.txtgunzip - 解压缩文件gunzip命令用于解压缩文件。
gunzip 文件.gz示例:
gunzip file.txt.gzzip - 压缩文件zip命令用于将文件或目录压缩为zip格式。
zip [选项] 压缩包名 文件常用选项:
zip archive.zip file.txtzip -r archive.zip 目录unzip - 解压缩文件unzip命令用于解压缩zip文件。
unzip 压缩包名.zip示例:
unzip archive.zipfind - 查找文件find命令用于在指定目录及其子目录中查找文件。
find [路径] [选项] [表达式]常用选项:
find / -name "file.txt"find / -size +100Mgrep - 搜索文本grep命令用于在文件中搜索匹配的文本模式。
grep [选项] 模式 文件常用选项:
grep "pattern" file.txtgrep -r "pattern" 目录locate - 快速查找文件locate命令用于快速查找文件。它基于预先构建的数据库,速度很快。
locate 文件名示例:
locate file.txtdate - 显示或设置系统日期时间date命令用于显示或设置系统日期和时间。
date示例:
datedate -s "2023-01-01 12:34:56"cal - 显示日历cal命令用于显示日历。
cal示例:
calcal 2023history - 显示命令历史history命令用于显示命令历史记录。
history示例:
historyhistory -calias - 设置命令别名alias命令用于创建命令别名,以简化命令输入。
alias 别名='命令'示例:
ll的别名为ls -l:
alias ll='ls -l'uname - 显示系统信息uname命令用于显示系统信息。
uname [选项]常用选项:
uname -aman - 查看命令手册man命令用于查看命令的手册页,提供详细的命令使用信息。
man 命令名示例:
ls命令的手册页:man lsawk - 文本处理工具awk是一种强大的文本处理工具,适用于格式化报告和文本提取。
awk '模式 {动作}' 文件示例:
awk '{print $2}' file.txtsed - 流编辑器sed是一种流编辑器,适用于对文本文件的批量编辑。
sed '命令' 文件示例:
foo替换为bar:sed 's/foo/bar/g' file.txtcron - 定时任务cron用于在指定时间运行计划任务。
crontab -e示例:
0 2 * * * /path/to/backup.shssh-keygen - 生成SSH密钥ssh-keygen用于生成SSH公钥和私钥对。
ssh-keygen示例:
ssh-keygen -f ~/.ssh/mykeyscp - 安全复制文件scp用于通过SSH在本地和远程主机之间安全复制文件。
scp 源文件 目标文件示例:
scp file.txt user@remotehost:/path/to/destinationrsync - 同步文件和目录rsync用于在本地和远程主机之间同步文件和目录。
rsync [选项] 源 目标示例:
rsync -avz /path/to/local/ user@remotehost:/path/to/remote/iptables - 配置Linux内核防火墙iptables用于配置和管理Linux内核中的IP包过滤规则。
iptables [选项]示例:
iptables -A INPUT -p tcp --dport 22 -j ACCEPTdocker - 容器管理docker用于管理应用容器,可以简化应用的部署和管理。
docker [选项]示例:
docker pull ubuntudocker run -it ubuntu /bin/bashkubernetes - 容器编排kubernetes用于自动化容器化应用的部署、管理和扩展。
kubectl [选项]示例:
kubectl get podsansible - 自动化配置管理ansible用于自动化配置管理和应用部署。
ansible [选项]示例:
ansible-playbook playbook.ymlbash: /etc/hosts: Permission deniedsudo命令提升权限。sudo nano /etc/hostsls: cannot access 'file.txt': No such file or directoryfind或locate命令查找文件。bash: foo: command not found通过创建别名,可以简化常用命令的输入。
alias ll='ls -l'
alias gs='git status'使用history命令查看和重用以前输入的命令。
history使用!加上命令编号重复执行命令:
!42使用Tab键自动补全命令和文件名,可以减少输入错误和提高效率。
每个Linux命令都有详细的手册页,可以通过man命令查看。
man ls