Linux基础命令复习-操作文件命令详解

操作文件命令详解

创建文件:
touch
-a  或--time=atime或--time=access或--time=use  只更改存取时间
-c  或--no-create  不建立任何文档
-d  使用指定的日期时间,而非现在的时间
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 --------难得看到一个 -f 吃瘪,从来无视别人的,终也被人无视了。^^
-m   或--time=mtime或--time=modify  只更改变动时间。-------说实话,我也不知道这功能到底有啥用,你们要是谁知道了也告诉我呀。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间
[root@compute lucy]# touch 1 2 3
[root@compute lucy]# ls
1  2  3

echo
- 用于字符串的输出  
[root@compute lucy]# echo "4">4
[root@compute lucy]# ls
1  2  3  4
[root@compute lucy]# echo "5">>5
[root@compute lucy]# ls
1  2  3  4  5
注意 > 与 >> 的区别

vi
- vi也可以创建文件
[root@compute lucy]# vi 6
[root@compute lucy]# ls
1  2  3  4  5  6

查看文件内容:
cat
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
[root@compute lucy]# cat 1 >> 6 
[root@compute lucy]# ls
1  2  3  4  5  6

head
-n<行数> 显示的行数
cat > head.txt<<EOF
#显示前5行
head -n  5 head.txt

tail
-f 该参数用于监视File文件增长。
-n Number 从 Number 行位置读取指定文件。
tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
tail -n 20 filename
说明:显示filename最后20行。

more
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
+n         从笫n行开始显示
-n        定义屏幕大小为n行
[root@compute lucy]# more +5 head.txt
[root@compute lucy]# more -10 head.txt
Enter   向下n行,需要定义。默认为1行
Ctrl+F  向下滚动一屏
空格键  向下滚动一屏
Ctrl+B  返回上一屏
 
less
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
[root@compute lucy]# less head.txt
PgUp    PgDn

vi编辑器
命令行模式 输入模式 末行模式
默认进入到命令行模式
命令行模式常用快捷键:yy-p yy10-p,dd 10dd d $^,u  ,G gg,ZZ
末行模式常用命令:wq,q,x,set nu,%s/PASS=/PASS=000000/g
输入模式:i与o均可进入输入模式

find 命令
find / -name "head*"
find / -iname "head*" //不区分大小写

tar  处理压缩文件
[root@compute ~]# tar cvf interersting.tar.gz interersting/
[root@compute ~]# ls
3                EDG  install.log         interersting
anaconda-ks.cfg  IG   install.log.syslog  interersting.tar.gz
[root@compute ~]# tar xvf interersting.tar.gz -C /var/
[root@compute ~]# ls /var/
cache  db     games         lib    lock  mail  opt       run    tmp
cvs    empty  interersting  local  log   nis   preserve  spool  yp


awk 
 -F 指定分隔符
获取当前主机的IP地址
[root@compute ~]# ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
192.168.48.20
[root@compute ~]# ifconfig eth0 | grep "inet addr" | awk -F" " '{print $2}'|awk -F":" '{print $2}'
192.168.48.20


sed
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输出到终端。
function:
a :新增行, a 的后面可以是字串,而这些字串会在新的一行出现(目前的下一行)
c :取代行, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
d :删除行,因为是删除,所以 d 后面通常不接任何参数,直接删除地址表示的行;
i :插入行, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s :替换,可以直接进行替换的工作,通常这个 s 的动作可以搭配正规表示法,例如 1,20s/old/new/g 一般是替换符合条件的字符串而不是整行

sed -i 's/^#//g' filepath
sed -i 's/^#//g' /etc/xiandian/openrc.sh 

磁盘分区

猜你喜欢

转载自blog.csdn.net/weixin_42325841/article/details/83865182