Bo's Oracle Station

查看: 2085|回复: 0

课程第3/4次

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2019-7-9 20:30:12 | 显示全部楼层 |阅读模式
2019-07-09
2019-07-11

从中间20000开始显示到底:
  1. tail -n +20000  /usr/share/dict/words
复制代码
验证:
  1. cat -n  /usr/share/dict/words | tail -n +20000 | head -n 1
复制代码
  1. [root@desktop3 labs]# wc 124-2.txt
  2. 3  6 35 124-2.txt
  3. [root@desktop3 labs]# wc -l  124-2.txt
  4. 3 124-2.txt
  5. [root@desktop3 labs]# wc -c  124-2.txt
  6. 35 124-2.txt
  7. [root@desktop3 labs]# wc -w  124-2.txt
  8. 6 124-2.txt
  9. [root@desktop3 labs]# cat 124-2.txt
  10. cat
  11. dog  fish
  12. sheep   goat   bird
复制代码
; 连接命令,&也连接命令 -------; 之前的命令是前台命令而&之前的命令是后台命令:
  1. [root@desktop3 ~]# echo "Hello"; echo "World"
  2. Hello
  3. World
  4. [root@desktop3 ~]# echo -n "Hello"; echo "World"
  5. HelloWorld
  6. [root@desktop3 ~]# echo -n "Hello "; echo "World"
  7. Hello World
  8. [root@desktop3 ~]#
复制代码
  1. [root@desktop3 ~]# ( sleep 3 ; echo "Hello " ) & echo "World"
  2. [1] 59835
  3. World
  4. [root@desktop3 ~]# Hello
复制代码
  1. [root@desktop3 ~]#  sleep 3 ; echo "Hello " & echo "World"
  2. [1] 59846
  3. World
  4. Hello
复制代码
QQ图片20190709211000.jpg



QQ图片20190709213405-2.jpg

ACCESS TIME/MODIFY TIME/CHANG TIME
  1. [root@desktop3 labs]# cat <124-2backup.txt
  2. cat
  3. dog  fish
  4. sheep   goat   bird donkey
  5. [root@desktop3 labs]# stat 124-2backup.txt
  6.   File: ‘124-2backup.txt’
  7.   Size: 42              Blocks: 8          IO Block: 4096   regular file
  8. Device: fd00h/64768d    Inode: 51563253    Links: 1
  9. Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
  10. Context: unconfined_u:object_r:admin_home_t:s0
  11. Access: 2019-07-10 00:16:19.431842205 +0800
  12. Modify: 2019-07-10 00:15:43.831843306 +0800
  13. Change: 2019-07-10 00:15:43.831843306 +0800
  14. Birth: -
  15. [root@desktop3 labs]# chmod 644 124-2backup.txt
  16. [root@desktop3 labs]# stat 124-2backup.txt
  17.   File: ‘124-2backup.txt’
  18.   Size: 42              Blocks: 8          IO Block: 4096   regular file
  19. Device: fd00h/64768d    Inode: 51563253    Links: 1
  20. Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  21. Context: unconfined_u:object_r:admin_home_t:s0
  22. Access: 2019-07-10 00:16:19.431842205 +0800
  23. Modify: 2019-07-10 00:15:43.831843306 +0800
  24. Change: 2019-07-10 00:17:00.117840946 +0800
  25. Birth: -
  26. [root@desktop3 labs]# echo "tiger" >> 124-2backup.txt
  27. [root@desktop3 labs]# stat 124-2backup.txt
  28.   File: ‘124-2backup.txt’
  29.   Size: 48              Blocks: 8          IO Block: 4096   regular file
  30. Device: fd00h/64768d    Inode: 51563253    Links: 1
  31. Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  32. Context: unconfined_u:object_r:admin_home_t:s0
  33. Access: 2019-07-10 00:16:19.431842205 +0800
  34. Modify: 2019-07-10 00:17:17.003840424 +0800
  35. Change: 2019-07-10 00:17:17.003840424 +0800
  36. Birth: -
  37. [root@desktop3 labs]#
复制代码

总结:以下命令:
[root@desktop3 labs]# ls -l
total 12
-rw-r--r--. 1 root root 48 Jul 10 00:17 124-2backup.txt
-rw-r--r--. 2 root root 35 Jul  9 22:31 124-2itself.txt
-rw-r--r--. 2 root root 35 Jul  9 22:31 124-2.txt

红的部分是从labs这个“文件”里读到的。

其他是分别从这三个文件的内节点(512字节)里读到的。
stat是比ls -l 看得更详细的命令。

----------------------------------------------------------------
  1. [root@desktop3 labs]# ls
  2. 124-2backup.txt  124-2.txt
  3. [root@desktop3 labs]# ln 124-2.txt 124-2itself.txt
  4. [root@desktop3 labs]# ls -i
  5. 51563253 124-2backup.txt  51563251 124-2itself.txt  51563251 124-2.txt
  6. [root@desktop3 labs]# ls -l
  7. total 12
  8. -rw-r--r--. 1 root root 48 Jul 10 00:17 124-2backup.txt
  9. -rw-r--r--. 2 root root 35 Jul  9 22:31 124-2itself.txt
  10. -rw-r--r--. 2 root root 35 Jul  9 22:31 124-2.txt
  11. [root@desktop3 labs]# ls
  12. 124-2backup.txt  124-2itself.txt  124-2.txt
  13. [root@desktop3 labs]# ln  124-2.txt /etc/
  14. [root@desktop3 labs]# ln  124-2.txt /boot/
  15. ln: failed to create hard link ‘/boot/124-2.txt’ => ‘124-2.txt’: Invalid cross-device link
复制代码
-------------------------------------------------------------------文件通配符合命令行扩展:

  1. touch " "
  2. touch ".  "
复制代码
  1. find / -name "[[:space:]]*" -o -name ".[[:space:]]*"
复制代码
  1. find / -name "[[:space:]]*"
复制代码
---------------() [] {}
命令行扩展:
()表示“子shell”:
  1. [root@desktop3 ~]# (  A=1 ; echo $A  ); echo $A
  2. 1

  3. [root@desktop3 ~]#  A=1 ; echo $A  ; echo $A
  4. 1
  5. 1
复制代码
()还表示某个命令的输出(就是变量的值,由于是文本所以自动把回车变空格):
  1. [root@desktop3 ~]# echo $(ifconfig)
  2. ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::aee7:413b:9d99:8a55 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:04:76:32 txqueuelen 1000 (Ethernet) RX packets 72019 bytes 21440242 (20.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 18734 bytes 5792316 (5.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 275 bytes 26112 (25.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 275 bytes 26112 (25.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:3f:37:90 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
复制代码


[]带表整型计算的结果:
  1. [root@desktop3 ~]# echo $[ 1 + 2 ]
  2. 3
  3. [root@desktop3 ~]# echo $[ 10 / 2 ]
  4. 5
  5. [root@desktop3 ~]# echo $[ 10 / 3 ]
  6. 3
复制代码
[]还代表判断的标准:
  1. [root@desktop3 ~]# A=0
  2. [root@desktop3 ~]# [ $A -lt 10 ] && echo "OK"
  3. OK
  4. [root@desktop3 ~]# A=10
  5. [root@desktop3 ~]# [ $A -lt 10 ] && echo "OK"
  6. [root@desktop3 ~]#
复制代码


{}代表命令的“乘法分配律”:
  1. [root@desktop3 ~]# echo {A,B}{1,2,3}
  2. A1 A2 A3 B1 B2 B3
复制代码
{}代表“子程序”:
  1. [root@desktop3 ~]#  SUB1() { echo "Hello"; }
  2. [root@desktop3 ~]# SUB1
  3. Hello
复制代码
{}限定变量名:
  1. [root@desktop3 ~]# A=1
  2. [root@desktop3 ~]# A1=a
  3. [root@desktop3 ~]# echo $A1
  4. a
  5. [root@desktop3 ~]# echo ${A}1
  6. 11
复制代码

文件通配符:
()没有
[]代表其中的任意一个字符,要记住这些:[[:digit:]]、[[:space:]]这些特殊字符
{}没有

----------------------------------------------------文件通配符,一定能够使用echo测出来; 而命令行扩展就未必(如果能测,也是因为是echo这条命令的命令行扩展):
  1. [root@desktop3 ~]# echo cd -
  2. cd -
  3. [root@desktop3 ~]# echo ~+
  4. /root
  5. [root@desktop3 ~]# echo ~-
  6. /
复制代码
文件通配符:
  1. [root@desktop3 labs]# touch a1 b1 c1 a2 b2 c2
  2. [root@desktop3 labs]# echo [abc][12]
  3. a1 a2 b1 b2 c1 c2
复制代码
命令行扩展:
  1. [root@desktop3 labs]# echo {a,b,c}{1,2}
复制代码
  1. [root@desktop3 labs]# rm -rf *
  2. [root@desktop3 labs]# echo {a,b,c}{1,2}
  3. a1 a2 b1 b2 c1 c2
  4. [root@desktop3 labs]#  echo [abc][12]
  5. [abc][12]
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-5-20 15:00 , Processed in 0.037801 second(s), 27 queries .

快速回复 返回顶部 返回列表