Linux常用命令
【cd命令】 ------------ cd 目录名 意为切换目录
常用例子:cd ~ 进入家目录
cd .. 返回上层目录
cd - 进入上一次工作路径
cd / 进入主要目录
【pwd命令】 ------------- 查看当前工作目录路径
常用例子:pwd 查看当前路径
pwd - P 查看链接文件的实际路径
【ls命令】 ------------- 查看文件夹包含的文件、查看文件权限、目录信息等
常用例子:ls - l 列出文件的详细信息 比如 文件名、权限、文件大小、所有者等
ls -a 列出目录的所有文件
ls - t 以文件修改时间排序
ls - S 以文件大小排序
【mkdir命令】 ------------- 创建文件夹
常用例子:mkdir file 在当前工作目录下创建名为file的文件夹
mkdir -m 对新建目录设置存取权限,也可以用chmod命令设置
mkdir -p tmp/test/file 在tmp目录下创建路径为test/file的目录,若不存在,则创建
【rm命令】 ---------------- 删除一个目录中的一个或多个文件或目录
常用例子:rm -r 加上-r目录,就会删除目录
rm -rf test 删除test目录及其子目录中所有的目录文件
rm -i *.log 删除任何.log文件,删除前逐一询问确认
rm -- -f* 删除以-f开头的文件
【rmdir命令】 --------------- 从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限
注意:不能删除非空目录
常用命令:rmdir -p parent/child/child1 当parent子目录被删除后使它也成为了空目录的话,则顺便一并删除
【mv命令】 ----------------- 移动文件或修改文件名
常用命令:mv test1.log test2.log 将文件test1.log重命名为test2.log
mv log1.txt log2.txt /test 将这两个文件移动到test目录中
mv -i log1.txt log2.txt 将文件名log1改名为log2;如果log2已存在,则询问是否覆盖
mv * ../ 移动当前文件夹下的所有文件到上一级目录
【cp命令】 ------------------ 将源文件复制到目标文件,或将多个源文件复制到目标目录
注意:如果目标文件已存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖
常用命令:cp -ai a.txt test 复制a.txt到test目录下,保持原文件时间,如果原文件存在,提示是否覆盖
cp -s a.txt link_a.txt 为a.txt建立一个链接(快捷方式)
【cat命令】 ----------------- 三个功能。一次显示整个文件;只能创建新文件,不能编辑已有文件cat >filename;能将几个文件合并为一个文件 cat file1 file2 >file
常用命令:cat -b test.log test2.log file.log 将前两个文件的内容加上行号(空白行不加)后,内容附加到file.log文件中
cat -n test.log file.log 把test.log文件的内容加上行号后输入到file.log文件里
cat log.txt 将文件里的内容反向显示出来
【more命令】 ----------------- 类似于cat more会以一页一页的显示方便使用者逐页阅读。最基本的指令就是:按下大空格键就往下一页显示,按b键会往回一页显示。
命令参数:more +n test.txt 从第n行开始显示
more -n test.txt 定义屏幕大小为n行,意思是每页显示n行
more -c test.txt 从顶部清屏,然后显示
more -d yest.txt 提示按空格键继续,按Q退出,禁用响铃功能
more +n/pattern 在字串pattern前两行之后开始显示
more -s 把连续的多个空行显示为一行
more -u 把文件内容中的下划线去掉
常用操作命令:enter 向下n行,默认为1行
空格键/ctrl + f 向下滚动一屏
ctrl + b 向上返回一屏
= 输出当前行的行号
:f 输出文件名和当前的行号
V 调用vi编辑器
q 退出more
s -l | more -5 在所列出文件目录详细信息,借助管道使每次显示5行
【less命令】 ------------- less可以随意浏览文件,而more仅能向前移动,而不能向后移动
命令参数:- N 显示每行的行号
- s 显示连续空行为一行
- i 忽略搜索时的大小写
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一行
常用命令:less 1.log 2.log 查看多个文件
ps -aux | less -N ps查看进程信息,并通过less分页显示
【head命令】 ---------------- 默认head命令打印其相应文件的开头10行
常用命令:head 1.log -n 20 显示1.log文件中的前20行
head -c 20 1.log 显示1.log文件前20字节
head -n -10 1.log 显示1.log文件内容的最后10行
【tail命令】 ------------------- 常用于查看日志文件
常用命令:tail -f 循环读取 常用于查看递增的日志文件
tail -n 10 1.log 从后向前读10行文件内容
【which命令】 ------------------ 搜索 查找 在linux中查找某个文件,但不知道放哪里了,可以使用which命令
常用命令:which ls 查看ls命令是否存在
which which 查看which
which cd 查看cd
查看当前path配置:echo $PATH ;或使用env查看所有环境变量及对应值
【find命令】 ------------------ 用于在文件树中查找文件,并做出相应处理
常用命令:find -atime -2 查找48小时内修改过的文件
find ./-name '*.log' 当前目录查找以.log结尾的文件
find /opt -perm 777 查找/opt目录下 权限为777的文件
find -size + 1000c 查找大于1K的文件
find -size 1000c 查找等于1000字符的文件
【chmod命令】 --------------- 用于改变linux系统文件或目录的访问权限
权限范围: r 读权限 数字4表示
w 写权限 数字2表示
x 执行权限 数字1表示
- 删除权限 数字0表示
s 特殊权限
常用命令:chmod a+x t.log 增加文件 t.log所有用户可执行权限
chmod u=r t.log -c 撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息
chmod 751 t.log
chmod u+r,g+r,o+r -R text/-c 将test目录及其子目录所有文件添加可读权限
【tar命令】 --------------- 压缩和解压文件
常用命令:tar zcvf filename.tar.gz 压缩
tar zxvf filename.tar.gz 解压
tar jcvf filename.tar.gz 压缩
tar jxvf filename.tar.bz2 解压
【chown命令】 ----------------- 将指定文件的拥有者改为指定的用户或组
常用命令:chown -c mail:mail 1.log 改变拥有者和群组,并显示改变信息
chown -c:mail t.log 改变文件群组
chown -cR mail t.log 改变文件夹及文件目录属主及属组为mail
【df命令】 --------------- 显示磁盘空间使用情况
常用参数:-a 全部文件系统列表
-h 以方便阅读的方式显示信息
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地磁盘
-T 列出文件系统类型
常用命令:df -l 显示磁盘使用情况
df -haT 以易读方式列出所有文件系统及其类型
【du命令】----------------- 查看使用空间 不同的是 du是对文件和目录磁盘使用的空间的查看
常用命令:du -ah scf/ 以易读方式显示文件夹内及子文件夹大小
du -a test 显示test目录下所有的目录及文件
du -h scf/ 以易读方式显示文件夹内子文件夹大小
du -hc test/ scf/ 显示几个文件或目录各自占用磁盘空间的大小,还统计他们的总和
du -hc --max-depth=1 scf/ 输出当前目录下各个子目录所使用的的空间
【cal命令】--------------------- 可以用户显示公历日历
常用参数:cal 9 2019 显示指定的年月日期
cal -y 2019 显示2019年每个月日历
cal -3m 将星期一作为第一列,显示前中后三月
【date命令】 -------------------- 显示或设定系统的日期与时间
常用参数:date +%Y%m%d --date="+1 day" 显示下一天的日期
date -d "nov 22" 几年的11月22日是星期三
date -d '2 weeks' 2周后的日期
date -d 'next monday' 下周一的日期
date -d tomorrow +%Y%m%d 明天的日期
date -d yesterday +%Y%m%d 昨天的日期
date -d last-month +%Y%m 上个月是几月
date -d next-month + %Y%m 下个月是几月
【grep命令】 ------------- 强大的文本搜索命令
常用命令:ps -ef | grep svn 查找指定进程
ps -ef | grep savn -c 查找指定进程的个数
cat test.txt | grep -f key.log 从文件中递归查找以grep开头的行,并只列出文件
grep -E 'ed | at' test.txt 显示包含ed或者at字符的内容
【wc命令】 ----------------- 统计指定的文件中字节数、字数、行数、并将统计结果输出
常用命令:wc test.txt 查找文件额行数、单词数、字节数、文件名
cat test.txt | wc -l 统计输出结果的行数