复习和巩固Linux的基础操作,对文件管理和查找、内容查找、归档以及管道和输入输出重定向进行再学习。
目录
1.文件管理
1. 1.head命令
1.2. tail命令
1.3. more/less命令
1.4. wc 统计命令
1.5. sort 排序命令
1.6. uniq 去重命令
1.7. paste合并命令
2.文件查找
2.1. which
2. whereis
3. locate (最全的,最完备的)
4. find (实际上使用最多的)
3.归档
3.1.常用的归档命令:
4.关于查时间
root@uos~#: head /etc/passwd root@uos~#: head -n2 /etc/passwd
head命令是看一个文件的头十行,-n2 则可以减少头十行的数量和内容,就看头两行,-n1就是看头一行
root@uos~#: tail /etc/passwd root@uos~#: tail -n1 /etc/passwd
相对应的,tail就是看一个文件的尾十行,-n2 则可以减少尾十行的数量和内容,就看尾两行,-n1就是看尾一行。
tail还有其他运用是监控其他文件
root@uos:~# t ail -f /var/log/messages
root@uos:~# echo tang>> /var/log/messages
然后你去查看就能发现有tang这一项出现
root@uos:~# more /var/log/messages
more显示你处于的位置,比如处于20%处。
按空格键可以往后翻
root@uos:~# less /etc/passwd
less命令可以显示出/etc/passwd,这个按q键就可以退出
root@uos:~# cat /boot/grub/grub.cfg | more root@uos:~# cat /bbot/grub/grub.cfg | less
这样本来是滑动的文件,就可以用一页一页的形式向我们展示内容,
root@uos:~# wc /ect/passwd
54代表了多少用户,84代表了多少行,3048代表了多少个字
root@uos:~# cat /etc/passwd | sort
然后它会以字母顺序排,将文件展示出来,并且默认状态下是升序的。
root@uos:~# cat /etc/passwd | sort -r(降序)
root@uos:~# cat /etc/passwd | sort -rnk 3 -t :
-r表示降序,n表示数字,-t作为分隔符,k 3表示为第三列
root@uos:~# vim tangtest root@uos:~# cat tangtest | uniq(只去掉相邻着的重复内容) root@uos:~# cat tangtest | sort | uniq(先进行排序,使相同的内容相邻) root@uos:~# cat tangtest | sort | uniq -c(去重以后可以看原先有几个相同的)
root@uos:~# df -Th(看磁盘信息的) root@uos:~# df -Th | grep tmpfs root@uos:~# df -Th | grep tmpfs | tr -s " " root@uos:~# df -Th | grep tmpfs | tr -s " " | cut -d " " -f 6 root@uos:~# df -Th | grep tmpfs | tr -s " " | cut -d " " -f 6 | cut -d % -f 1
tr -s " "表示把空格做转换
root@uos:~# vim tang1 root@uos:~# vim tang2 root@uos:~# vim tang3 root@uos:~# paste tang1 tang2 tang3 > tangfile root@uos:~# cat tangfile
我们可以通过cat来查看我们的合并效果
学习了相应的文件管理操作,我们接下来需要学习一下文件的查找
下面的例子:
root@uos:~# which ls root@uos:~# which passwd root@uos:~# which ping
下面的例子:
root@uos:~# whereis ls root@uos:~# whereis passwd root@uos:~# whereis ping
但是一般来说Linux系统上不自备,需要自己下载
root@uos:~# apt install locate
还需要以下操作,读取了所有的磁盘信息后才能执行
root@uos:~# updatedb
接下来才能真正地使用locate命令
root@uos:~# locate passwd root@uos:~# locate ls root@uos:~# locate ping
先要查看详细的find内容可以通过以下操作:
root@uos:~# man find
操作也和上面的方式差不多
root@uos:~# find / -name passwd root@uos:~# find / -name ?passwd(此处是找paaswd有前一位的) root@uos:~# find / -name *passwd* root@uos:~# find /etc/ -name *passwd*
root@uos:~# find /etc/ -user tangyimin(按用户查找)
root@uos:~# find /etc/ -perm 600(看权限)
root@uos:~# find /etc/ -size +1k(比1k大的文件) root@uos:~# find /etc/ -szie -1k(比1k小的文件)
root@uos:~# find /etc/ -type (按文件类型找)
按两下Tab键,就可以查看有啥:
root@uos:~# find /dev/ -type b root@uos:~# find /etc/ -type f root@uos:~# find /etc/ -type l -size -10k
root@uos:~# find /etc/ -type l -exec ls -l {} \;
{}的意思是将前面find找出的内容全部找出,即 find /etc/ -type l -exec ls -l
root@uos:~# rm -rf /tmp/* root@uos:~# ls -l /tmp/ root@uos:~# find /etc/ -type l -exec cp -rf {} /tmp/ \;
由此操作,使得find的所有内容都置于tmp之下
最后是对归档的复习,这个也是相当简单的,基本上多打几遍就能很快掌握。
一般可以用,但是不常用下列方式:
root@uos:~# zip root@uos:~# rar(压缩命令) root@uos:~# unzip root@uos:~# unrar(解压命令)
举例 root@uos:~# unzip
root@uos~# unzip mydata.zip -d mydatabak(把/home目录下面的mydata.zip解压到mydatabak目录里面) root@uos~# unzip wwwroot.zip(把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面) root@uos~# unzip -v wwwroot.zip (查看把/home目录下面的wwwroot.zip里面的内容) root@uos~# unzip -t wwwroot.zip (验证/home目录下面的wwwroot.zip是否完整) root@uos~# unzip abc\*.zip
常用参数:
-l | 显示压缩文件内所包含的文件 |
---|---|
-v | 执行时显示详细的信息 |
-c | 将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-n | 解压缩时不要覆盖原有的文件 |
-j | 不处理压缩文件中原有的目录路径 |
root@uos:~# man tar
-x是解压
root@uos:~# tar czv(双击Tab键,可以得到)
比如说就拿czvf来说吧,
root@uos:~# tar czvf tanglog.tar.gz /var/log/
然后你能用
root@uos:~# ls -l /var/log/
就可以查看了
或者用
root@uos:~# du -sh /var/log/journal/ root@uos:~# du -sh /var/log/ root@uos:~# mkdir /tmp/tang(建立一个目录) root@uos:~# tar xzvf tanglog.tar.gz -C /tmp/tang(这样就可以将包解压到/tmp/tang)
root@uos:~# date +%Y(查年份year) root@uos:~# date +%m(查月份month) root@uos:~# date +%d(查日期day) root@uos:~# date +%H(查小时hour) root@uos:~# date +%M(查分钟minute) root@uos:~# date +%S(查秒second) root@uos:~# date +%Y%m%d%H%M%S(可以查一连串) root@uos:~# date +%Y-%m-%d-%H-%M-%S root@uos:~# date +"%Y-%m-%d %H:%M:%S"(也可以是这样的形式) root@uos:~# date +%F(相当于上面的全部了)
注意这里的大小写是非常重要的,不要记错啦!
root@uos:~# rm `date +%F`tanglog.tar.gz /var/log/`
`这个符号在你键盘数字行1的前面,在``框起来的内容可以优先执行
总而言之,Linux一切皆文件,看起来操作很麻烦,实际上却是相当的简洁明了的。相应的简单的操作只需要多写几遍,在Linux操作系统上也好,在VM虚拟机上也好,多实践一下,很快就能把它的基础操作学好。