Linux常用命令详解
cat
显示指定文件里的内容
如
bash
cat hello.txt

tac
倒着输出
bash
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# cat test.c
aaaaaa
bbbbbbb
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# tac test.c
bbbbbbb
aaaaaa
在查看日志时非常重要
echo
echo可以打印字符串
如
bash
echo 'hello Linux'

echo与cat的区别
echo把后边的内容当作字符串进行打印,cat是打印文件里的内容
如下图

cat <
echo "esasss" > ss.txt
echo "asas" >>ss.txt
重定向操作--只看操作
bash
echo "hello world" > hello1.txt
两种情况
1.后续文件不存在,新建文件
2.后续文件存在,先清空再写入
如下
bash
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# ll
total 32
drwxr-xr-x 2 root root 4096 Apr 13 21:17 ./
drwxr-xr-x 7 root root 4096 Apr 13 20:46 ../
-rw-r--r-- 1 root root 0 Apr 12 17:14 bit.txt
-rw-r--r-- 1 root root 18 Apr 12 17:19 hello.txt
-rw-r--r-- 1 root root 18 Apr 12 17:43 lll.txt
-rw-r--r-- 1 root root 9893 Apr 13 21:17 log.txt
-rw-r--r-- 1 root root 15 Apr 12 16:25 test.c
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# echo "hello world" > hello1.txt
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# cat hello1.txt
hello world
追加重定向
>>就是追加重定向 就可以不清空原文件继续往文件内写入
如下
bash
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# echo "hello world" > hello1.txt
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# cat hello1.txt
hello world
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# echo "hello world" >> hello1.txt
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3# cat hello1.txt
hello world
hello world
root@iZf8z0u7einfoexqnx8yf5Z:~/113/lesson3#
输入重定向
bash
cat < hello1.txt
直接从文件中读取数据

more指令
语法:more [选项]
功能:more命令,功能类似cat
常用选项:
- -n 指定输出行数
- q 退出more
bash
1 # 命令行输出多行文本
2 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello bite"; let cnt++; done > temp.txt
3
4 # -n指定输出行数
5 [whb@bite-alicloud test]$ more -10 temp.txt
6 hello bite
7 hello bite
8 hello bite
9 hello bite
10 hello bite
11 hello bite
12 hello bite
13 hello bite
14 hello bite
15 hello bite
16 --More--(0%)

less
less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大
less的用法比起more更加的有弹性,在more的时候,我们并没有办法向前面翻,只能往后面看
但若使用了less时,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容
除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法:less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前一个搜索(与/或?有关)
- N:反向重复前一个搜索(与/或?有关)
- q:quit
我把第一行修改一下 改成bite666

输入/666就会自动搜索到

date 指令
指定格式显示时间:date +%Y:%m:%d
用法:date [OPTION]... [+FORMAT]
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
- %H:小时(00...23)
- %M:分钟(00...59)
- %S:秒(00...61)
- %X:相当于%H:%M:%S
- %d:日(01...31)
- %m:月份(01...12)
- %Y:完整年份(0000...9999)
- %F:相当于%Y-%m-%d
head指令
head与tail就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail想当然尔就是看档案的结尾。
语法:
head [参数]... [文件]...
功能:
head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
- -n <行数> 显示的行数
举例:拿前二十行

tail指令
tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.
语法:tail 必要参数 [文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
- -f 循环读取
- -n <行数> 显示行数
举例:(简单讲解重定向和管道)
拿后20行

那怎么拿中间的呢?
这里我们用到管道
管道就是在上个命令的基础上再进行下一次命令
拿到500-510行

管道就是在上个命令的基础上再进行下一次命令
模拟动态日志查看功能

wc -l显示行数

date 指令
指定格式显示时间:date +%Y:%m:%d
用法:date [OPTION]... [+FORMAT]
1.在显示方面
使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
- %H:小时(00...23)
- %M:分钟(00...59)
- %S:秒(00...61)
- %X:相当于%H:%M:%S
- %d:日(01...31)
- %m:月份(01...12)
- %Y:完整年份(0000...9999)
- %F:相当于%Y-%m-%d
2. 在设定时间方面
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s "01:01:01 2008-05-23" //这样可以设置全部时间
date -s "01:01:01 20080523" //这样可以设置全部时间
date -s "2008-05-23 01:01:01" //这样可以设置全部时间
date -s "20080523 01:01:01" //这样可以设置全部时间
3. 时间戳
时间戳
- 时间戳:date +%s
- 时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch,Unix time,POSIX time或Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
find
- Linux下find命令在目录结构中搜索文件,并执行指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
- 即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法:find pathname -options
功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
which指令
功能:搜索系统指定的命令
举例:
bash
1 [whb@bite-alicloud test]$ which ls
2 alias ls='ls --color=auto'
3 /usr/bin/ls
4 [whb@bite-alicloud test]$ which pwd
5 /usr/bin/pwd
grep指令
语法:grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
- -i:忽略大小写的不同,所以大小写视为相同
- -n:顺便输出行号
- -v:反向选择,亦即显示出没有'搜寻字符串'内容的那一行
举例:

ps -ajx :查找进程
如果清屏后 想找到刚刚的进程 可以用grep

也可以查找文件内容如函数及其行数

grep -n

grep-v会过滤袋查找的
常用选项:
- -i:忽略大小写的不同,所以大小写视为相同
- -n:顺便输出行号
- -v:反向选择,亦即显示出没有'搜寻字符串'内容的那一行
举例:
外链图片转存中...(img-As2RSHbT-1776245956281)
ps -ajx :查找进程
如果清屏后 想找到刚刚的进程 可以用grep
外链图片转存中...(img-m1LRNWEO-1776245956281)
也可以查找文件内容如函数及其行数
外链图片转存中...(img-5SuKbG4P-1776245956281)
grep -n
外链图片转存中...(img-vWpqF8HK-1776245956281)
grep-v会过滤袋查找的
