linux学习——总结
以下是上述 Linux 常用命令的示例,结合命令功能和使用场景帮助理解:
一、基础命令与目录操作
-
ls 命令(列出目录内容)
# 列出当前目录内容(平铺形式) ls# 列出当前目录所有文件(包括隐藏文件),以列表形式显示详细信息(权限、大小等) ls -al# 列出 /home 目录内容,以人类可读的单位显示文件大小(K、M、G) ls -lh /home
-
cd 命令(切换目录)
# 切换到 /usr/local 目录(绝对路径) cd /usr/local# 切换到当前目录下的 test 文件夹(相对路径) cd ./test# 回到上一级目录 cd ..# 回到当前用户的 HOME 目录 cd ~
-
pwd 命令(显示当前路径)
# 显示当前工作目录的绝对路径 pwd # 示例输出:/home/itheima
-
mkdir 命令(创建目录)
# 在当前目录创建 single_dir 文件夹 mkdir single_dir# 一次性创建多级目录(父目录不存在时自动创建) mkdir -p parent_dir/child_dir/grandchild_dir
二、文件操作
-
touch 命令(创建文件)
# 在当前目录创建 empty.txt 文件 touch empty.txt# 在 /tmp 目录创建多个文件 touch /tmp/file1.txt /tmp/file2.log
-
cat 命令(查看文件内容)
# 查看 test.txt 的全部内容 cat test.txt# 查看多个文件内容,按顺序拼接显示 cat file1.txt file2.txt
-
more 命令(分页查看文件)
# 分页查看 large_file.log(按空格翻页,q 退出) more large_file.log
-
cp 命令(复制文件/文件夹)
# 复制 file.txt 到 /backup 目录 cp file.txt /backup/# 递归复制 folder 文件夹到 /tmp 目录(-r 用于文件夹) cp -r folder /tmp/
-
mv 命令(移动/重命名)
# 移动 document.pdf 到 ~/docs 目录 mv document.pdf ~/docs/# 将 old_name.txt 重命名为 new_name.txt mv old_name.txt new_name.txt
-
rm 命令(删除文件/文件夹)
# 删除单个文件 rm useless.txt# 强制删除 test 文件夹及其内容(-r 用于文件夹,-f 强制) rm -rf test/# 删除所有以 .tmp 结尾的文件 rm *.tmp
三、查找与过滤
-
find 命令(搜索文件)
# 在 /home 目录下搜索名为 "passwd" 的文件 find /home -name "passwd"# 在当前目录下搜索大于 100MB 的文件 find . -size +100M
-
grep 命令(内容过滤)
# 在 log.txt 中搜索包含 "error" 的行,并显示行号 grep -n "error" log.txt# 结合管道符,查找所有 .sh 文件中包含 "echo" 的行 ls *.sh | grep "echo"
-
which 命令(查找命令位置)
# 查看 ls 命令的程序文件位置 which ls # 示例输出:/bin/ls
四、文本编辑(vim)
# 创建并编辑 new_file.txt(进入命令模式)
vim new_file.txt# 在命令模式按 i 进入输入模式,输入内容后按 esc 返回命令模式
# 输入 :wq 保存并退出(底线命令模式)
# 输入 :q! 强制退出不保存
五、用户与权限
-
su 命令(切换用户)
# 切换到 root 用户(需要输入 root 密码) su - root# 从 root 切换回普通用户 itheima(无需密码) su - itheima
-
sudo 命令(临时提权)
# 以 root 权限安装 nginx(需提前配置 sudo 权限) sudo yum install -y nginx
-
chmod 命令(修改权限)
# 给 file.sh 增加执行权限(所有者、用户组、其他用户均可执行) chmod +x file.sh# 递归修改 folder 文件夹权限为:所有者读写执行,其他用户只读(数字权限 755) chmod -R 755 folder/
六、系统与进程管理
-
ps 命令(查看进程)
# 查看所有进程的详细信息 ps -ef# 查看包含 "java" 的进程 ps -ef | grep java
-
kill 命令(终止进程)
# 强制终止进程 ID 为 1234 的进程 kill -9 1234
-
top 命令(系统资源监控)
# 实时查看 CPU、内存使用情况(按 q 退出) top# 只查看进程 ID 为 5678 的资源占用 top -p 5678
七、软件安装与网络
-
yum 命令(软件管理)
# 安装 wget 工具 sudo yum install -y wget# 卸载 httpd 服务 sudo yum remove -y httpd
-
systemctl 命令(服务管理)
# 启动防火墙服务 sudo systemctl start firewalld# 设置 sshd 服务开机自启 sudo systemctl enable sshd
-
ping 命令(网络连通性测试)
# 测试与百度的连通性(执行 4 次后停止) ping -c 4 www.baidu.com
-
wget 命令(下载文件)
# 后台下载某个文件(日志保存到 wget-log) wget -b https://example.com/file.tar.gz
八、其他常用命令
-
echo 命令(输出内容)
# 输出文本到终端 echo "Hello Linux"# 将内容写入文件(覆盖原有内容) echo "test content" > test.txt
-
tail 命令(跟踪文件尾部)
# 实时跟踪日志文件的最新内容 tail -f /var/log/messages
-
df 命令(查看磁盘使用)
# 以人类可读的单位显示磁盘分区使用情况 df -h
Linux 系统操作全指南:从基础到进阶(补充版)
九、Linux 文件的打包和压缩
在 Linux 系统中,打包和压缩是处理文件和文件夹的常用操作,通过将多个文件或文件夹合并为一个文件并压缩,可以节省存储空间和便于传输。
1. 常用压缩格式
Linux 中常见的压缩文件格式有:
.tar
:仅打包(不压缩).tar.gz
:打包后使用 gzip 压缩(最常用).tar.bz2
:打包后使用 bzip2 压缩.tar.xz
:打包后使用 xz 压缩
2. tar 命令(打包与压缩)
tar
命令是 Linux 中用于打包和压缩的核心命令,支持多种压缩算法,基本语法如下:
# 打包并压缩
tar [-z|-j|-J] -cvf 压缩包名称 要处理的文件/文件夹# 解压缩
tar [-z|-j|-J] -xvf 压缩包名称 [-C 目标路径]
选项说明:
-c
:创建新的压缩包(打包)-x
:从压缩包中提取文件(解包)-v
:显示操作过程(verbose)-f
:指定压缩包文件名(必须放在选项最后)-z
:使用 gzip 压缩/解压(对应.tar.gz
格式)-j
:使用 bzip2 压缩/解压(对应.tar.bz2
格式)-J
:使用 xz 压缩/解压(对应.tar.xz
格式)-C
:指定解压缩的目标目录(仅用于解压时)
示例:
-
打包并以 gzip 压缩
test
文件夹为test.tar.gz
:tar -zcvf test.tar.gz test/
-
解压
test.tar.gz
到当前目录:tar -zxvf test.tar.gz
-
解压
test.tar.bz2
到/tmp
目录:tar -jxvf test.tar.bz2 -C /tmp
3. 其他压缩命令
-
gzip:仅压缩单个文件(不支持文件夹),压缩后原文件会被删除
gzip file.txt # 压缩为 file.txt.gz gunzip file.txt.gz # 解压
-
zip/unzip:跨平台压缩格式(与 Windows 兼容)
# 安装(需 root 权限) yum -y install zip unzip# 压缩文件夹(包含子目录) zip -r test.zip test/# 解压到指定目录 unzip test.zip -d /target/dir
4. 注意事项
- 打包压缩文件夹时,
tar
命令的-r
选项通常不需要(与cp
等命令不同),只需指定文件夹路径即可 - 解压时若不指定
-C
选项,文件会解压到当前工作目录 - 对于大文件或多个文件,优先使用
tar
系列命令,压缩效率更高 .tar
格式仅打包不压缩,通常用于暂存多个文件,不适合长期存储
linux命令一定要手敲一遍