总结一下工作中常用的Linux操作命令,并附带实例说明,方便理解
1、文件与目录管理
- ls 列出目录中的文件和子目录
ls -l /home
说明:使用 -l 参数以长格式显示 /home 目录下的详细文件信息。ls -l 可直接用 ll代替。
- cd 切换当前工作目录
cd /var/log
说明:进入 /var/log 目录。
- pwd 显示当前工作目录的绝对路径
pwd
说明:输出当前所在目录,如 /home/user。
- mkdir 创建一个新的目录
mkdir new_directory
说明:在当前路径下创建名为 new_directory 的目录。
- rmdir 删除一个空目录
rmdir empty_directory
说明:删除 empty_directory 目录,该目录必须为空。
- touch 创建一个空文件,或者更新现有文件的修改时间。
touch newfile.txt
说明:创建一个名为 newfile.txt 的空文件。
- cp 复制文件或目录
cp file1.txt file2.txt
说明:将 file1.txt 复制为 file2.txt 。
cp -r /src/dir /dest/dir
说明:递归复制 /src/dir 目录到 /dest/dir 。
- mv 移动或重命名文件/目录
mv oldname.txt newname.txt
说明:将文件 oldname.txt 重命名为 newname.txt 。
mv file.txt /home/user/
说明:将 file.txt 移动到 /home/user/ 目录。
- rm 删除文件或目录
rm file.txt
说明:删除文件 file.txt 。
rm -r directory/
说明:递归删除 directory/ 目录及其内容。(使用时需谨慎操作)
2、文件内容查看与编辑
- cat 显示文件内容或将多个文件合并后输出
cat file.txt
说明:显示 file.txt 的全部内容。
- less 分页查看文件内容,支持向前后滚动
less file.txt
说明:以分页方式查看 file.txt 的内容,使用上下键翻页,按 q 退出。
- vim/nano 编辑文件的文本编辑器(vim 功能强大,nano 操作简单)
vim file.txt
说明:使用 vim 编辑 file.txt 。(nano同理操作)
- man 查看命令的帮助文档
man ls
说明:显示 ls 命令的使用说明及选项。
3、文本搜索与处理
- grep 在文件中搜索指定的字符串或正则表达式
grep "error" /var/log/syslog
说明:在 /var/log/syslog 文件中查找所有包含 “error”的行。
- find 在目录中查找符合条件的文件或目录
find /home -name "*.txt"
说明:在 /home 目录下查找所有扩展名为 .txt 的文件。
4、权限与所有者管理
- chmod 修改文件或目录的权限
chmod 755 script.sh
说明:将 script.sh 的权限设置为所有者可读写执行,其他用户可读或执行。
- chown 改变文件或目录的所有者和所属组
chown user:group file.txt
说明:将 file.txt 的所有者修改为 user ,所属组修改为 group 。
- sudo 以超级用户权限执行命令
sudo apt update
说明:在 Debian/Ubuntu 系统中,使用管理员权限更新软件包列表。
5、系统状态监控与管理
- ps 显示当前正在运行的进程
ps aux
说明:列出所有用户的所有进程及详细信息。
- top 动态显示系统运行的进程及资源使用情况
top
说明:实时查看系统资源使用情况,如 CPU 和内存占用情况。
- df 显示文件或目录占用的磁盘空间
df -h
说明:以人性化格式显示各挂载点的磁盘使用情况。
- du 显示文件或目录占用的磁盘空间
du -sh /var/log
说明:显示 /var/log 目录的总大小,-s 表示汇总,-h 表示人性化格式。
6、文件压缩与归档
- tar 用于打包和压缩文件或目录
tar -czvf archive.tar.gz /path/to/directory
说明:将 /path/to/directory 目录打包并压缩为 archive.tar.gz 文件。
tar -xzvf archive.tar.gz
说明:解压 archive.tar.gz 文件。
7、远程操作
- ssh 安全地远程登录到另一台机器
ssh user@192.168.1.100
说明:以 user 用户身份连接到 IP 为192.168.1.100的服务器。
- scp 在本地和远程主机之间传输文件,使用SSH协议
scp file.txt user@192.168.1.100:/home/user/
说明:将本地的 file.txt 传输到远程服务器 /home/user/ 目录下。
1、输出与命令记录
- echo 在终端输出文本或变量内容
echo "Hello World!"
说明:打印 "Hello World!" 到终端。
- history 显示之前执行的命令记录
history
说明:查看过去输入的命令,便于重复使用或查找错误的命令。
- alias 为常用命令设置快捷别名,简化操作
alias ll='ls -l'
说明:将 ls -l 命令简化为 ll ,提高操作效率。
2、进程管理
- kill / killall 结束正在运行的进程
kill -9 1234
说明:强制结束进程号为1234的进程。
killall firefox
说明:结束所有名为 firefox 的进程。
- pstree 树状显示进程层级结构
pstree -p
说明:以树状结构展示当前所有进程及其进程号,便于查看进程关系。
3、内存与网络信息
- free 查看内存和交换空间的使用情况
free -h
说明:以易读格式显示内存使用情况
- ip 查看和管理网络接口,比 ifconfig 更强大
ip addr show
说明:显示所有网络接口的详细信息。
- netstat / ss 查看网络连接、端口和路由信息
netstat -tuln
说明:列出所有正在监视的 TCP/UDP 端口。
ss -tuln
说明:类似netstat,但响应速度更快,显示信息更详细。
- ping 检测与目标主机的网络连通性
ping -c 4 www.baidu.com
说明:发送4个 ICMP 数据包测试与 www.baidu.com 的连接情况。
- traceroute 显示数据包到目标主机经过的路由路径。
traceroute www.baidu.com
说明:追踪从本机到 www.baidu.com 的网络路径。(部分系统可能需要额外安装)
4、文件下载与网络请求
- wget 从网络上下载文件
wget https://example.com/file.zip
说明:下载 file.zip 到当前目录。
- curl 进行网络请求、下载文件或与 API 通信
curl -0 https://example.com/file.zip
说明:使用 curl 下载文件并保存到当前目录。
5、系统服务与日志管理
- systemctl 管理 systemd 系统服务
systemctl status ssh
说明:查看 SSH 服务的状态。
- journalctl 查看 systemd 管理下的系统日志
journalctl -u ssh
说明:查看与 SSH 服务相关的日志。
- crontab 管理定时任务,设置周期性任务
crontab -e
说明:编辑当前用户的定时任务表,添加或修改定时任务。
6、时间与系统信息
- date 显示或设置系统当前日期和时间
date
说明:输出当前日期和时间。
- cal 显示日历
cal
说明:显示当前月份的日历。
- uname 查看系统信息,包括内核版本、系统架构等
uname -a
说明:显示全部系统信息。
- who / w 显示当前登录系统的用户信息
who
说明:列出所有当前登录的用户。
w
说明:显示详细的登录用户及其正在执行的任务。
7、文件处理与比较
- dd 用于低级复制、转换文件或制作磁盘镜像
dd if=/dev/sda of=~/disk.img bs=4M
说明: 将 /dev/sda 制作为镜像文件 disk.img ,块大小为 4M。
- sed 流编辑器,用于在文本流中执行替换、插入、删除等操作
sed 's/old/new/g' file.txt
说明:将 file.txt 中所有的 "old" 替换为 “new” 。
- awk 强大的文本处理工具,适用于数据提取和报告生成。
awk '{print $1}' file.txt
说明:打印 file.txt 中每行的第一个字段。
- diff 比较两个文件的差异
diff file1.txt file2.txt
说明:显示两个文件之间的不同之处。
- rsync 用于高效地同步文件和目录,常用于备份
rsync -avz /source/directory/ /destination/directory/
说明:以归档模式递归同步 /source/directory/ 到 /destination/directory/ 。