Linux常用命令
1 什么是Shell
Shell 是你和操作系统之间的"翻译官"——你输入命令,它翻译给内核执行,再把结果返回给你。
Shell =命令行界面的"外壳"Kernel(内核)= 操作系统的核心Shell 包裹在内核外面,隔离了底层复杂性,让你用简单命令就能控制系统。
2 Linux命令的分类、格式及命令行的辅助操作
2.1 linux命令有内部命令和外部命令
| 内部命令 | 外部命令 |
|---|---|
| 集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
2.2 Linux命令行的格式
通用的命令行使用格式:
命令字 [选项] [参数]
命令字
是整条命令中最关键的一部分 唯一确定一条命令
选项
短格式选项:使用“-”符号引导 长格式选项:使用“--”符号引导
参数
命令字的处理对象 可以是文件名、目录(路径)名或用户名等内容 个数可以是零到多个
2.3 Linux命令行的辅助操作
Tab 键:自动补齐
反斜杠“\”:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
3 基础命令
3.1cd命令
用于切换当前工作目录的命令。
常用的命令有cd -(返回上一次所在目录)、cd~(切换到用户主目录)、cd ..(返回上一级目录)。
示例:
[root@paopao 2025]# cd ~ [root@paopao ~]# [root@paopao ~]# cd - /opt/app/2025 [root@paopao 2025]#
3.2ls命令
用于列出当前目录内容。
基本语法:ls [选项] 路径
常用的选项有ls -a(显示所有目录文件,包括以.开头隐藏文件)、ls -l(另一种写法是ll,显示当前目录具体信息。)、ls -lh(在ls -l上以友好的方式显示)、ls -R (递归显示目录下的所有目录文件)。
示例:
[root@paopao 2025]# ls logs test.conf1 [root@paopao 2025]# ls -l 总用量 0 drwxr-xr-x. 2 root root 6 4月 14 13:44 logs -rw-r--r--. 1 root root 0 4月 14 14:24 test.conf1 [root@paopao 2025]# ls -R .: logs test.conf1 ./logs:
3.3pwd命令
用于打印当前工作目录的完整路径,告诉你"你现在在哪里"。
示例:
[root@paopao 2025]# pwd /opt/app/2025
3.4alias命令
用于显示命令的别名。
示例:
[root@paopao 2025]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
3.5du命令
用于查看文件和目录占用的磁盘空间大小,是排查磁盘空间问题的核心工具。
基本语法:du [选项] 目录/文件
什么都不加列出当前目录下每个子目录的占用空间,du -h(友好显示),du -a(显示所有目录文件占用信息包含隐藏文件及显示总和),du -s(只显示指定目录的总占用)。
示例:
[root@paopao 2025]# du -a 0 ./logs 0 ./test.conf1 0 . [root@paopao 2025]# du -s 0 .
3.6touch命令
创建一个新的文件,可以连续创建多个文件.
示例:
[root@paopao 2025]# touch {1..10}.txt [root@paopao 2025]# ls 10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt logs test.conf13.7mkdir命令
创建一个新的目录,mkdir -p进行递归创建目录及子目录。
示例:
[root@paopao 2025]# mkdir -p a/b/c/ [root@paopao 2025]# ls 10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt a logs test.conf1 [root@paopao 2025]# ls a/b c
3.8ln命令
用于创建链接,类似于 Windows 的"快捷方式",但功能更强大
基本语法:ln [选项] 对象及路径 创建路径位置
ln创建一个硬链接相当于复制文件 ,ln -s创建一个软连接(硬链接的编写不影响源文件,软连接的改动会直接呈现在源文件上)
PS:创建软连接的时候要改下名字,否则容易报错。
示例:
[root@paopao tmp]# ln /tmp/yum.log /root/yum1.log [root@paopao tmp]# ls /root anaconda-ks.cfg file2.txt file5.txt file8.txt filename1 passwd.test yum1.log [root@paopao tmp]# ln -s yum.log /root/yum2.log [root@paopao tmp]# ls /root anaconda-ks.cfg file2.txt file5.txt file8.txt filename1 passwd.test yum1.log yum2.log
3.9cp命令
用于复制文件和目录
基本语法:cp [选项] 源文件 目标目录
ps:可同时复制多个目录文件 常用cp -r (递归复制目录下的所有目录及文件),cp -f(跳过命令确定请求,强制命令),cp -l(创建硬链接),cp -s(创建软连接)。
示例:
[root@paopao Desktop]# ls /home/student01/ Desktop Documents Downloads [root@paopao Desktop]# cp -r ../Documents/ ../Downloads/ [root@paopao Desktop]# ls ../Downloads/ Documents [root@paopao Desktop]# ls ../Downloads/Documents linux_notes.txt network_notes.txt project_plan.txt
3.10mv命令
用于移动文件/目录或重命名,一个命令两种用途。在同一个目录下使用则会对源文件进行重命名。
常用选项有mv -v(显示详细过程)、mv -f(强制覆盖重复文件,不再提示)。
示例:
[root@paopao tmp]# mkdir test/ [root@paopao tmp]# ls test [root@paopao tmp]# mv test test1 [root@paopao tmp]# ls test1 [root@paopao tmp]# mv -v test1 /root/ "test1" -> "/root/test1"
3.11rm命令
用于删除文件和目录且不可恢复
常用选项有rm -r(递归删除目录,必须加!),rm -f(强制删除文件,不提示),rm -rf(强制进行递归删除,不会有提示,要谨慎使用!),rm -v(显示删除过程)。
ps:rm = rm -i 每次操作都需进行确认
示例:
[root@paopao tmp]# mkdir -p a/b/c [root@paopao tmp]# rm -r a/ rm:是否进入目录"a/"? y rm:是否进入目录"a/b"? y rm:是否删除目录 "a/b/c"?y rm:是否删除目录 "a/b"?y rm:是否删除目录 "a/"?y [root@paopao tmp]# ls test [root@paopao tmp]# mkdir -p a/b/c/ [root@paopao tmp]# rm -rf a/ [root@paopao tmp]# ls test
3.12which命令
用于查找某个命令对应的可执行文件的完整路径。
示例:
[root@paopao tmp]# which ls alias ls='ls --color=auto' /usr/bin/ls [root@paopao tmp]# which python /usr/bin/python
3.13echo命令
把键盘输入的内容,输出在终端上。
常用方式 echo "输入内容" > [需要输入的目录] (表示以覆盖原内容的方式输入到相对文件中)
echo "输入内容" >> [需要输入的目录] (表示以追加的方式输入到相对文件中)
示例:
[root@paopao ~]# echo 'hello world' test.txt [root@paopao ~]# cat test.txt hello world [root@paopao ~]# echo 'hello linux' test.txt [root@paopao ~]# cat test.txt hello world hello linux
3.14find命令
用于筛选匹配不同条件精确查看文件目录的绝对路径
语法格式:find 查找区间 [选项] "查找内容",常用 find 目录 -name "内容",还有find 目录 -type 后跟f(普通文件)、d(目录)、b(块)、c(符号);按照文件类型查找)、find 目录 -size 后跟+代表大于,后跟-代表小于(按照文件大小查找,一般格式为[+-] 数值 k\MB\GB)、find 目录 -time(创建或修改的时间)、find 目录 -user(按照文件属主查找)常与通配符"*" 和 "?"一起使用。
示例: