Linux操作系统简介:为何成为全球开发者热门选择?
字数 1533 2025-08-18 11:36:36
Linux操作系统常用命令详解
一、Linux系统目录结构
Linux系统采用树形目录结构,以下是主要目录及其功能:
bin -> usr/bin:存放二进制命令boot:内核及引导系统程序目录dev:所有设备文件目录(如磁盘、光驱等)etc:配置文件默认路径、服务启动命令存放目录home:用户家目录,root用户为/rootlib -> usr/lib:32位库文件存放目录lib64 -> usr/lib64:64位库文件存放目录media:媒体文件存放目录mnt:临时挂载设备目录opt:自定义软件安装存放目录proc:进程及内核信息存放目录root:Root用户家目录run:系统运行时产生临时文件存放目录sbin -> usr/sbin:系统管理命令存放目录srv:服务启动后需要访问的数据目录sys:系统使用目录tmp:临时文件目录usr:系统命令和帮助文件目录var:存放内容易变的文件的目录
二、目录操作命令
基本目录操作
-
查看当前目录:
pwd -
清除屏幕:
clear -
切换目录:
cd ~ # 当前用户目录 cd / # 根目录 cd - # 上一次访问的目录 cd .. # 上一级目录 -
查看目录内容:
ll # 查看当前目录下内容
目录创建与搜索
-
创建目录:
mkdir aaa # 当前目录下创建aaa目录(相对路径) mkdir ./bbb # 当前目录下创建bbb目录(相对路径) mkdir /ccc # 根目录下创建ccc目录(绝对路径) mkdir -p temp/nginx # 递归创建目录(创建不存在的父目录) -
搜索目录/文件:
find / -name 'b' # 查询根目录下名以b的目录和文件 find / -name 'b*' # 查询根目录下名以b开头的目录和文件 find . -name 'b' # 查询当前目录下名以b的目录和文件
目录操作进阶
-
重命名/移动目录:
mv tomcat001 tomcat # 重命名 mv /aaa /bbb # 移动目录(如无bbb目录则重命名) mv bbbb usr/bbb # 移动并重命名 -
复制目录:
cp -r /aaa /bbb # 复制/aaa到/bbb下,名称仍为aaa cp -r /aaa /bbb/aaa # 复制/aaa到/bbb下并重命名为aaa -
删除目录:
rm -rf /bbb # 强制删除目录(包括子目录) rm -r /bbb # 普通删除(会询问每个文件) rmdir test01 # 删除空目录 -
查看目录结构:
tree test01/ -
批量操作:
mkdir {dirA,dirB} # 批量创建目录 touch dirA/{A1,A2,A3} # 批量创建文件
三、文件操作命令
基本文件操作
-
删除文件:
rm -r a.java # 删除文件(每次询问) rm -rf a.java # 强制删除文件 rm -rf ./a* # 强制删除以a开头的所有文件 rm -rf ./* # 强制删除当前目录所有文件(慎用) -
创建文件:
touch testFile -
递归删除特定格式文件:
find . -name '*.pyc' -exec rm -rf {} \; -
查找特定大小文件:
find . -name "*" -size 145800c -print
文件分割
split命令可将大文件分割成小文件:
split -b 10k date.file # 按10KB大小分割
split -b 10k date.file -d -a 3 # 使用数字后缀,后缀长度3
split -b 10k date.file -d -a 3 split_file # 指定前缀
split -l 10 date.file # 按10行分割
四、文件内容操作
文件编辑与查看
-
编辑文件:
vim a.javai:进入插入模式ESC:退出插入模式:wq:保存退出:q!:不保存退出:q:无修改时退出
-
查看文件内容:
cat a.java # 查看全部内容 more a.java # 分页查看(空格下一页,回车下一行) less a.java # 分页查看(支持上下键翻页)more与less区别:less支持上下方向键,more不支持less加载更快(不必读整个文件)more退出后会留下显示内容,less不会
-
查看文件首尾:
head a.java # 查看前10行 tail -f a.java # 实时查看后10行(日志监控) head -n 7 a.java # 查看前7行 tail -n 7 a.java # 查看后7行
内容搜索与处理
-
文件内容搜索:
grep under 123.txt # 搜索under字符串(区分大小写) grep -n under 123.txt # 显示行号 grep -v under 123.txt # 显示不匹配的行 grep -i under 123.txt # 不区分大小写 grep -ni under 123.txt # 不区分大小写并显示行号 -
终止操作:
Ctrl+Z:中断任务(可恢复)Ctrl+C:强制终止程序
-
重定向:
echo 'Hello World' > /root/test.txt
高级文本处理工具
-
grep(全局正则表达式打印):
grep "start" test* # 从test开头文件中查找含start的行 grep -A 1 -B 1 "https" wget-log # 查看包含https的行及前后1行 -
awk(数据统计):
awk '{print $1,$3}' email.out # 打印第1、3列 awk '$1=="tcp" && $2==1{print $0}' email.out # 条件筛选 awk '($1=="tcp" && $2==1)|| NR==1 {print $0}' # 包含表头 awk -F "," '{print $2}' test.txt # 指定分隔符 -
sed(流编辑器):
sed -i 's/^Str/String/' replace.java # 替换行首Str为String sed -i 's/\.$/\;/' replace.java # 替换末尾.为; sed -i 's/Jack/me/g' replace.java # 全局替换 sed -i '/^ *$/d' replace.java # 删除空行 sed -i '/Interger/d' replace.java # 删除含Interger的行 -
管道操作符:
find ~ | grep "test" # 查找当前用户所有含test的文件 grep 'error' email.log | grep -o '
\[0-9 \]
' # 查找error行并提取数字
5. **cut(数据裁剪)**:
```bash
cut -d ":" -f 1 cut.txt # 按:分割取第1列
echo $PATH | cut -d ":" -f 3 # 取PATH的第3部分
echo $PATH | cut -d ":" -f 3- # 取第3列及之后内容
五、系统日志位置
/etc/redhat-release:查看操作系统版本/var/log/message:系统启动信息和错误日志/var/log/secure:安全相关日志/var/log/maillog:邮件相关日志/var/log/cron:定时任务相关日志/var/log/spooler:UUCP和news设备相关日志/var/log/boot.log:守护进程启动停止日志
查看用户操作日志:
cat .bash_history
六、软链接操作
-
创建软链接:
ln -s /usr/local/app /data -
删除软链接:
rm -rf /data # 注意不加/
七、压缩与解压缩
tar命令
-
压缩:
tar -cvf start.tar a.java b.java # 打包 tar -cvf start.tar ./* # 打包当前目录所有文件 tar -zcvf start.tar.gz a.java b.java # 打包并gzip压缩 -
解压:
tar -xvf start.tar # 解压到当前目录 tar -xvf start.tar -C /usr/local # 解压到指定目录 tar -zxvf start.tar.gz # 解压gzip压缩包 tar xf node-v12.18.1-linux-x64.tar.xz # 解压tar.xz文件
zip/unzip命令
-
压缩:
zip lib.zip tomcat.jar # 压缩单个文件 zip -r lib.zip lib/ # 压缩目录 zip -r lib.zip tomcat-embed.jar xml-aps.jar # 压缩多个文件 -
解压:
unzip file1.zip # 解压zip文件 unzip -d /usr/app/ com.lydms.english.zip # 解压到指定目录
八、文件权限管理
文件权限表示:
-rw-r--r-- 1 root root 34942 Jan 19 2018 bootstrap.jar
- 前三位:用户权限(可读/可写/不可执行)
- 中三位:组权限(可读/不可写/不可执行)
- 后三位:其他用户权限(可读/不可写/不可执行)
修改权限:
chmod u+x web.xml # 为用户添加执行权限
chmod g+x web.xml # 为组添加执行权限
chmod 111 web.xml # 为所有用户添加执行权限
chmod 222 web.xml # 为所有用户添加写入权限
chmod 444 web.xml # 为所有用户添加读取权限
九、命令帮助信息
-
基本帮助:
command --help -
详细手册:
man commandman操作键:
- 空格:向下翻页
- b:向上翻页
- q:退出
- /:搜索
十、命令格式规范
command [-options] [parameter]
说明:
command:命令名[-options]:选项,控制命令行为[parameter]:参数,0个或多个
以上是Linux系统常用命令的详细说明,涵盖了文件操作、目录管理、权限控制、文本处理、压缩解压等核心功能,可作为Linux系统操作的全面参考指南。