Linux - 第四天 - 管道符,通配符及权限管理(重点,建议实操多加练习)

1> yum -y install lrzsz ( 用于拖拽文件)

2> yum -y install dos2unix (windows文件和linux文件之间的转换)

3> touch {0..9}.txt

4> ls [0-9].txt

5> cp -a file1 file2 (-a归档,保留属性)

6> cp -r (递归,复制文件夹)

7> cp -a file1{,.bak}

8> rename txt conf *.txt ( 把*.txt改为*.conf)

9> mkdir -p /a/b/c ( 创建目录,-p创建子目录)

10> 建议最好别用rm命令

11> 提示空间满了,但是用rm以后,df -i 显示inode正常,但是df -h显示100%,用lsof |grep deleted,去查询是否被占用,ps aux|grep ??查询进程,但是最好别用rm,用’> 空文件’(空文件是一个不存在的文件)

12> ln 创建硬链接文件(inode id is same单独文件) (不允许跨分区) (绝对路径重要)

13> ln -s 创建软连接(inode is different类似快捷方式) (允许跨分区)(绝对路径重要)

软连接应用场景:APP更新和回滚。(ln -s app.v02 app,把版本2更新给用户)

14> 标准输出,输入 /dev/stdout stdin stderr (/proc/进程号/fd/0(in)1(out)2(err)

15> Pidof command 查看进程

16> /dev/设备名  : hostname 1> /dev/ssty (把当前设备的hostname的结果输出到ssty的屏幕)(1可不写,默认为输出)

17> ll f2.txt f2.log > all.log 2>&1 ( &1 是指放到1里面,也就是放到out里面)

18> ll f2.txt f2.log &> all.log (全部都放进all.log)

19> echo 2*3 > bc.log ; bc < bc.log ( 2*3, 6)  

20> seq -s+ 100 > bc.log; bc < bc.log (1+2+3...+100, 5050)

21> yum -y install postfix;systemctl enable --now postfix(邮件服务)

22> mail -s hi noise < mail.log (mail.log以.结束)

23> 登录noise,用mail查看

24> 发送外网: /etc/mail.rc

set from=邮箱

set smtp=smtp.qq.com

set smtp-auth-user=邮箱

set smtp-auth-password=(邮箱授权,SMTP之类的授权码)

25> seq -s+ 100 | bc ( 把结果给bc)

26> 管道符| : cmd1 | cmd2 (cmd1 必须是正确,想继续错误的信息的话可以用&2>1, cmd1 &2>1 | cmd2)

27> IO 重定向<,>: cmd1 > file, cmd1 < file1

28> tr:实现删除,替换,转换等等. seq 10 | tr -d ‘\n’ ( 取消1-10之间的换行符)

 

29> 单行重定向,一般是回车. cat > f1.txt,每一个并按回车,f1.txt就会写入那一行

30> 多行重定向,以用户自己定义的标识结束(例如EOF),实现文件内容动态化(一般是配置文件会用),

(1) Cat > f2.txt <<EOF

[18:29:23 root@centos8 data]#cat > f1.txt <<EOF

> my name is `hostname`

> i am `whoami`

>  EOF

> EOF11

> EOF

[18:50:30 root@centos8 data]#cat f1.txt

my name is centos8

i am root

 EOF

EOF11

31> tee 可以打印创建的内容

(1) tee f2.txt <<EOF

[18:50:36 root@centos8 data]#tee f2.txt <<EOF

> my name is `hostname`

> my release is `lsb_release -i`

> i am `whoami`

> EOF

my name is centos8

my release is Distributor ID: CentOS

i am root

[18:54:30 root@centos8 data]#cat f2.txt

my name is centos8

my release is Distributor ID: CentOS

i am root

 

 

用户,组和权限

32> /etc/passwd,/etc/shadow,/etc/gshadow

33> getent passwd noise

34> user -d /data/noise -s /sbin/nologin(ubunut 是/bin/false) -g postfix -G mail -M madir -r -u 89 nosie 2> /dev/null

(1) -g 主要组(必须只有一个),-G 辅助组(可有可无)

(2) -s /sbin/nologin 不需要登录

(3) -d home目录地址

(4) -M 不需要创建home目录

(5) -r 系统账号

(6) -u 89 UID是89

35> user -r noise (把关于noise的所有资料全部删除)

36> 权限,文件所属者,文件所属组,其他人

(1) -rw-r--r--. 1 root root 0 Apr 18 14:41 1.txt(第一个-是文件 类型,文本文件)

(2) chown noise 1.txt(所属者)

(3) chgrp noise 1.txt(改所属组)

(4) chown noise.noise 1.txt(同时改所属者所属组)

(5) chown -R noise.noise /data/ (把data下面的所属者所属组全改了),这个很危险,不次于删库跑路

(6) 模式法chmod u=rw g=r o=r 1.txt

(7) 数字法:chmod 644 1.txt

① rw-r--r--

② 110 100 100 = 6 4 4

37> 执行 cp /etc/issue /data/dir/ 所需要的最小权限?? 5+2(rx , w)

38> 一个目录中的文件/data/test.log想要删除的权限条件是什么??(首先是data文件夹要有权限wx,根据test.Log需要有wx)

 

上一篇:【台大林轩田《机器学习基石》笔记】Lecture 8——Noise and Error


下一篇:CCS - Baseband Digital Transmission - Optimum Receiver for the AWGN Channel - Matched Filter