文章
Linux 常用命令
·
Linux 常用命令 ls 命令 常用参数: cd 命令 pwd 命令 mkdir 命令 rm 命令 mv 命令 cp 命令 常用参数: cat 命令 more 命令 用于分页查看文本;现代 Linux 环境通常更推荐使用 。 less 命令 与 类似,但可以前后浏览文件,且查看前不必加载整个文件。 常用参数: 常用按
Linux 常用命令
ls 命令
常用参数:
ls -a # 列出所有文件,包括以 . 开头的隐藏文件
ls -l # 显示权限、所有者、大小和修改时间等详细信息
ls -h # 以易读的单位显示文件大小;通常与 -l 一起使用
ls -t # 按修改时间排序
ls -l -a -h # 常用组合:详细信息、隐藏文件、易读大小
cd 命令
# 进入指定目录
cd [目录名]
# 进入根目录
cd /
# 进入当前用户的主目录
cd ~
# 返回上一次所在目录
cd -
# 进入父目录
cd ..
pwd 命令
# 查看当前路径
pwd
# 查看软链接解析后的实际路径
pwd -P
mkdir 命令
# 在当前目录创建新文件夹
mkdir [文件夹名称]
# 在 /tmp 下创建 test/t1/t;缺失的父目录也会一并创建
mkdir -p /tmp/test/t1/t
rm 命令
rm [选项] 文件
# 删除所有 .log 文件,逐一询问确认
rm -i *.log
# 删除 test 目录及其所有内容;不询问,谨慎使用
rm -r -f test
mv 命令
# 将 test.log 重命名为 test1.txt
mv test.log test1.txt
# 将多个文件移动到 /test3 目录
mv log1.txt log2.txt log3.txt /test3
# 目标存在时询问是否覆盖
mv -i log1.txt log2.txt
# 目标存在时直接覆盖,谨慎使用
mv -f log1.txt log2.txt
# 移动当前目录下的所有非隐藏文件到父目录
mv * ../
cp 命令
常用参数:
-i # 覆盖前询问
-r # 递归复制目录及其内容
-a # 尽可能保留原文件的属性
# 复制 a.txt 到 test 目录;保留属性,覆盖前询问
cp -a -i a.txt test/
# 为 a.txt 创建符号链接
cp -s a.txt link_a.txt
cat 命令
# 一次显示整个文件
cat filename
# 从键盘创建文件;输入完成后按 Ctrl+D
cat > filename
# 合并多个文件并覆盖写入
cat file1 file2 > file
# -b:只给非空行编号
# -n:给所有行编号
# 给 log2012.log 加行号后写入 log2013.log
cat -n log2012.log > log2013.log
# 给两个文件的非空行编号后追加到 log.log
cat -b log2012.log log2013.log >> log.log
> 覆盖写入
>> 追加写入
more 命令
用于分页查看文本;现代 Linux 环境通常更推荐使用 less。
more file.txt
ls -l | more
less 命令
less 与 more 类似,但可以前后浏览文件,且查看前不必加载整个文件。
常用参数:
less -i file.txt # 搜索时忽略大小写
less -N 1.log 2.log # 显示行号,并查看多个文件
less -s file.txt # 将连续空行显示为一行
常用按键:
Space 向前翻一页
b 向后翻一页
Enter 向前移动一行
d / u 向前 / 向后翻半页
j / k 向下 / 向上移动一行
/pattern 向前搜索
?pattern 向后搜索
n / N 重复搜索 / 反方向重复搜索
g / G 到文件开头 / 结尾
q 退出
find 命令
find [路径] [条件] [动作]
常用条件:
-name PATTERN 按文件名查找
-type f 普通文件
-type d 目录
-size +100M 大于 100 MB 的文件
-mtime -7 最近 7 个 24 小时区间内修改过的文件
-mmin -2880 过去 48 小时内修改过的文件
-maxdepth N 限制最大查找深度
# 在当前目录查找以 .log 结尾的文件
find . -name '*.log'
# 查找普通的 .log 文件
find . -type f -name '*.log'
# 查找过去 48 小时内修改过的文件
find . -type f -mmin -2880
# 查找大于 100 MB 的文件
find . -type f -size +100M
# 查找以 passwd 开头且内容包含 pkg 的普通文件
find . -type f -name 'passwd*' -exec grep -n 'pkg' {} \;
# 删除匹配的 .log 文件前逐一确认
find . -type f -name '*.log' -exec rm -i {} \;
atime 是访问时间;查找修改时间应使用 mtime 或 mmin。
chmod 命令
常用参数:
-c # 发生改变时报告处理信息
-R # 递归处理目录及其子目录中的文件
权限范围:
u 文件所有者
g 文件所属组
o 其他用户
a 所有用户
权限代号:
r = read(读) = 4
w = write(写) = 2
x = execute(执行) = 1
- 表示该权限不存在,例如 rwxr-xr-- 等于 754。它不是删除权限;删除文件主要取决于所在目录的权限。
# 给所有用户增加 t.log 的执行权限
chmod a+x t.log
# 清除其他权限,只保留属主的读权限,并报告处理信息
chmod -c u=r t.log
# 属主 rwx(7)、组 r-x(5)、其他用户 --x(1)
chmod -c 751 t.log
# 等价写法
chmod -c u=rwx,g=rx,o=x t.log
# 递归为 text/ 中的文件添加读权限
chmod -R -c u+r,g+r,o+r text/
tar 命令
常用参数:
-c 创建归档文件
-x 从归档文件中解压
-t 查看归档内容
-f 指定归档文件名
-z 使用 gzip 压缩或解压
-v 显示操作过程
# 将 1.log 和 2.log 打包为 log.tar;文件名以空格分隔
tar -c -v -f log.tar 1.log 2.log
# 将所有 .log 文件打包为 logs.tar
tar -c -v -f logs.tar *.log
# 将 /etc 打包并使用 gzip 压缩
tar -z -c -v -f /tmp/etc.tar.gz /etc
# 查看压缩包内容
tar -z -t -v -f /tmp/etc.tar.gz
# 解压
tar -z -x -v -f /tmp/etc.tar.gz