- 只列出最常用的命令,命令后的-a -b -c 没必要详细了解,记住常用的即可
- 其余命令可以用到的时候再查
- 查命令网址 https://www.runoob.com/linux/linux-command-manual.html
/开头的是绝对路径,非/开头的是相对路径
相对路径/绝对路径是为了让系统能找到指定的文件
因此指定 文件/文件夹 时既可以用绝对路径,也可以用相对路径
以下列举的命令中使用的是 文件名/文件夹名,是相对路径,指定的是当前目录下的文件
绝对路径:/aaa/bbb/ccc/x.java,/aaa/bbb/ccc
相对路径:若当前目录为/aaa,则bbb/ccc对应的绝对路径就是/aaa/bbb/ccc
若当前目录为/aaa/bbb,则ccc/x.java对应的绝对路径就是/aaa/bbb/ccc/x.java
1.查看当前目录
pwd(显示当前目录的绝对路径)
2.切换目录
cd 目录名(切换到指定目录)
【注】:输入目录名的前面部分然后按tab可以快速补全
cd .. (返回上一级目录)
3.查看当前目录下的文件/文件夹
ls(显示除隐藏文件外的所有文件/文件夹)
ls -al(可以显示所有文件/文件夹,详细信息)
ls -ltr(显示除隐藏文件外的所有文件/文件夹,详细信息,并按最后修改时间顺序排序)
-l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
ll是ls -l的缩写
注:ls后可跟通配符来进行模糊查找。
*:任意长度任意字符
?:任意单个字符
例如:ls -al *.jpg表示查找以.jpg结尾的文件
4.修改文件名/文件夹名
mv 原文件名/原文件夹名 新文件名/新文件夹名
5.移动文件/文件夹
mv 原文件路径/原文件夹路径 目标路径
6.复制文件,文件夹
cp -p 原文件名 新文件名(复制文件并放到当前目录)(备份文件)
cp -pr 原文件夹名 新文件夹名(复制文件夹并放到当前目录)(备份文件夹)
7.删除文件,文件夹
rm 文件名(删除文件)
rm -rf 文件名/文件夹名(删除文件/文件夹)
【注】:rm不能删除文件夹,rm -rf既可以删除文件,也可以删除文件夹
8.新建文件,文件夹
touch 文件名(新建文件)
mkdir 文件夹名(新建文件夹)
9.查看文件内容(查日志常用)
more命令最常用,单独列出来
more 文件名(一页一页查看文件内容)
- enter 向下滚动一行
- 空格 向下滚动一页
- b 向上滚动一页
- q 退出more
- = 输出当前行号
- 可以使用vim编辑器中 / 与 ?关键字来查询文件内容
cat 文件名(显示文件所有内容,注意:尽量不要使用cat对大文件进行读取)
head 文件名(显示文件开头十行)
head -x 文件名(显示文件开头x行)
tail 文件名(显示文件最后十行)
tail -x 文件名(显示文件最后x行)
tail -f 文件名(显示文件尾部内容且不断刷新)
10.查询文件内容
grep 查询内容 文件名 --color(查询内容区分大小写,高亮显示查询结果)
grep -a 查询内容 文件名 --color(查询内容不区分大小写,高亮显示查询结果)
11.修改文件内容(vi/vim编辑器)
vi 操作分为命令模式和编辑模式
vi/vim 文件名(打开该文件并进入命令模式)
- 命令模式下按 i 进入编辑模式
- 编辑模式下按 ESC 进入命令模式
命令模式:
- :wq(保存退出)(也可以使用快捷键Shift + zz进行保存退出)
- :q!(不保存退出)
- dd(删除光标所在行)
- gg(光标回到文件第一行)
- G(光标回到文件最后一行)
- o(在光标所在行的下面插入新的一行)
- x(删除光标所在处的字符)
- u(撤销上一步操作)
- Ctrl+r 恢复上一步被撤销的操作
- yy(复制光标所在行到缓冲区)
- p(粘贴缓冲区的内容到光标所在行的下一行)
- /xxx(向后查询文件“xxx”内容,按n键可继续往后查找,N键可继续往前查找)
- ?xxx(向前查询文件“xxx”内容,按n键可继续往前查找,N键可继续往后查找)
编辑模式:
- 相当于只用键盘编辑txt文本文件
12.查看系统当前进程
netstat -an | grep 37892(查看37892端口是否被占用)
ps -ef(查看系统当前所有进程)
ps -ef | grep mysql(查询某一项进程)
13.解压文件
tar -xzvf test.tar.gz(解压.tar.gz文件到当前目录下)
tar -xvf test.tar(解压.tar文件到当前目录下)
14.重定向
> 文件名(文件不存在则新建文件再写入;文件存在则清空文件再写入)(重定向输出覆盖)
>> 文件名(文件不存在则新建文件再写入;文件存在则在文件后追加内容)(重定向输出追加)
例:echo "write some" > a.txt
echo "write some" >> a.txt
15.定时任务
crontab 文件名(指定定时任务文件)
crontab -l(展示当前用户的定时任务)
crontab -e(编辑当前用户的定时任务)
crontab -r(删除当前用户的定时任务)
定时任务文件编写:
f1 f2 f3 f4 f5 program
分钟,小时,一个月份中的第几日,月份,一个星期中的第几天。要执行的程序。
f1 为 * 表示每分钟都要执行 program
f1 为 a-b 表示从第 a 分钟到第 b 分钟这段时间内要执行
f1 为 */n 表示每 n 分钟个时间间隔执行一次
f2,f3等以此类推
例:15 12 * * * /bin/date >> /Users/mac/time.txt (每天12:15执行一次date命令,输出时间到time.txt文本)
16.运行Shell脚本
要求切换到shell脚本所在目录
- ./test.sh
- sh test.sh
- source test.sh
不需要切换到shell脚本所在目录(绝对路径方式指定shell脚本)
- /data/shell/hello.sh
17.磁盘管理
df -h(查看系统中各个空间的使用情况)
du -h(查看当前目录及各子目录占用空间大小)
du -sh(查看当前目录占用空间大小)
du -sh *(查看当前目录所有文件及子目录占用空间大小)
18.查看某命令帮助手册
man ls(查看ls的帮助手册)
info ls(查看ls的帮助手册)
19.其他常用命令
telnet ip 端口(查看与某ip某端口的连通性)
chmod xxx *.sh(授权)
ssh -t 用户名@IP地址 -p 端口(连接服务器)