在职场中,有很多运维或者开发工作都需要通过命令来完成,很少有用到图形界面。作为一名后端程序员我们必须掌握一些Linux常用的终端命令。Linux发行版的命令大概有200多个,常用的命令有二十余个,本文将详细介绍这些命令。
Linux命令格式 :
# Linux命令格式, 如下的中括号[]表示: 可选
command [-options] [parameter]
一、基本操作快捷键
Tab键一键补齐功能
Ctrl + C键是一键停止当前运行的程序
Ctrl + D键是exit的效果
Ctrl + L键是清屏操作,效果同clear命令
二、对目录的操作
1、ls 命令
# 来源于 list 单词, 列表的意思, 即: 查看某个路径下所有的子级(不包括子级的子级)
# 选项介绍: all(所有), line(行), human(人性化)
ls # 查看当前目录的子级(不包括隐藏的), 等价于: ls ./
ls -a # 查看当前目录的子级(包括隐藏的)
ls -al # 以行的方式, 查看当前目录的子级(包括隐藏的), 无意义, 因为要结合-h一起使用.
ls -alh # 以行, 人性化的方式, 查看当前目录的子级(包括隐藏的)
# -alh的无需区分顺序
ls / # 查看根目录下的所有子级(不包括隐藏)
ls -l / # 以行的方式, 查看根目录下的所有子级(不包括隐藏)
ll / # 效果同上, 即: ll 等价于 ls -l
2、cd 命令
# 来源于 change directory, 改变目录.
cd # 回家, 即: root账号的家目录是 /root, 其它账号的家目录是: /home
cd /etc # 切换到etc目录.
# 几个特殊的路径.
# 绝对路径: 以 / 开头的, 固定的, 写死的路径, 例如: /root/aa/bb/cc
# 相对路径: 即以当前路径来讲的, 不以/开头, 例如: 1.txt
cd .. # 代表上1级路径.
cd ../ # 效果同上.
cd ../.. # 代表: 上上级路径.
cd ./ # 代表: 当前路径.
cd ~ # 代表: 家目录, 即: cd ~ 等价于 cd 命令
cd - # 代表: 在最近操作过的两个路径之间做切换.
3、pwd 命令
#来源于 print work directory, 打印工作目录
pwd # 打印当前所在路径(当前在哪个目录, 就打印什么路径).
4、mkdir 命令
# 来源于 Make Directory, 创建文件夹.
# 格式: mkdir [-p] 目录路径 -p表示创建多级目录.
# 创建 单级 目录
mkdir ./aa # 在当前目录下创建 aa文件夹.
mkdir aa/bb/cc # 创建多级目录, 如果aa/bb目录不存在, 则: 报错.
# 创建 多级 目录.
mkdir -p aa/bb/cc # -p表示多级目录.
三、对于文件的操作
5、touch 命令
# touch, 用于创建文件.
# 例如
touch 1.txt 2.mp3 abc.jpg # 可同时创建多个文件.
6、cat 命令
# cat, 来源于 catch(捕获), 查看文件中所有的内容, 如果内容较多, 则: 只显示最后1页.
# cat 文件路径
cat ./test.txt
7、more 命令
# more, 可以分页查看数据.
# more 文件路径
# d(down), 往下翻页. b(back): 往上翻页, q(quit): 退出
more ./test.txt
8、cp 命令
# cp, 来源于: copy, 拷贝文件 或者 文件夹的.
cp test.txt /aa # 拷贝test.txt 到 /aa目录下.
cp 1.txt /aa/2.txt # 拷贝1.txt 到 /aa目录下, 并改名为 2.txt
cp -r aa test # 拷贝 aa文件夹到 test文件夹下, -r递归拷贝.
9、mv 命令
# mv, 来源于: move, 剪切, 也可以改名.
mv 1.txt 2.txt # 将1.txt改名为2.txt
# 个人理解为先把1.txt剪出来, 明明成2.txt粘贴到当前目录中.
10、rm 命令
# rm, 来源于: remove, 删除的意思, 一般结合两个参数: -r(recursive: 递归), -f(force: 强制)
rm -rf 1.txt # 删除(当前目录下的)所有叫1.txt文件(包括子目录)
rm -rf *.txt # 删除(当前目录下的)所有的.txt文件(包括子目录)
rm -f aa # 删除aa文件夹.
rm -rf / # "坐牢命令", 效果不亚于格式化C盘.
rm -rf /* # 效果同上.
四、查找相关命令
11、which 命令
# which命令, 查看此命令所在的路径.
which mv # 位于/usr/bin/
which cat # 位于/usr/bin
which ifconfig # 位于/usr/sbin/
12、find 命令
# find命令, 查找 符合条件的文件的.
# 格式: find 路径 -name '文件名' # 根据文件名进行查找.
find ./ -name 'test*' # 在 当前目录 下查找, 所有以test开头的文件.
# 格式: find 路径 -size +|-数字单位 # 根据文件大小进行查找.
find ./ -size +100M # 在 当前目录 下查找, 文件大小在 100MB 以上的文件.
13、echo命令 和 重定向命令
# echo命令, 类似于Python的print(), 就是打印内容到控制台.
echo 'hello world'
# 重定向, > 是覆盖, >> 是追加.
echo 'hello' > test.txt # 把 hello 字符串, 覆盖写入到 test.txt文件中.
echo 'hello' >> test.txt # 把 hello 字符串, 追加写入到 test.txt文件中.