06_基础命令(2)

#显示文件的头部信息,默认显示文件的前十行内容

选项
	-n	#取消默认输出
	-c	#显示文件的最前面的字符
[root@dzy ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@dzy ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@dzy ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@dzy ~]# head -c 5 /etc/passwd
root:[root@dzy ~]# 

tail

#显示文件的尾部信息,默认显示文件的最后10行
选项
	-n	#取消默认输出
	-c	#显示文件的最后面的字符
	-f	#实时显示文件的尾部变化信息
	-F	#实时更新文件内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在 
[root@dzy ~]# tail /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
saslauth:x:998:76:Saslauthd user:/run/saslauthd:/sbin/nologin
ldap:x:55:55:OpenLDAP server:/var/lib/ldap:/sbin/nologin
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -n 1 /etc/passwd
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -1 /etc/passwd
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -c5 /etc/passwd	#显示最后5个字符,只能看见4个,另外一个是换行符
ogin

[root@dzy ~]# cat passwd 
hello
hello
[root@dzy ~]# echo 123456789 >> passwd	#另一个bash里追加进去
[root@dzy ~]# tail -f passwd 
hello
hello
123456789

tailf

#实时更新文件的内容
tailf	====	tail -f
当文件内容没有发生变化时,tailf不会去读取磁盘中的信息,tailf -f 当文件内容没有发生变化时,会一直向磁盘进行读取。
选项
	-n	#取消默认输出

locate

#根据本地的数据库进行查找文件,不会查找到最新的文件
[root@dzy ~]# yum install -y mlocate
选项
	-i	#不区分大小写
	-r	#简单使用正则表达式
[root@dzy ~]# locate passwd
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[root@dzy ~]# updatedb
#把系统中所有文件名称包含passwd的文件全部查找出来
[root@dzy ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
。。。等等

[root@dzy ~]# locate -r passwd$
/etc/passwd
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
/usr/bin/htpasswd
/usr/bin/ldappasswd
/usr/bin/passwd
/usr/sbin/chpasswd
/usr/sbin/lpasswd
/usr/sbin/slappasswd
/usr/share/bash-completion/completions/chpasswd
/usr/share/bash-completion/completions/passwd

[root@dzy ~]# locate hostnamectl
/usr/bin/hostnamectl
/usr/share/bash-completion/completions/hostnamectl
/usr/share/man/man1/hostnamectl.1.gz
/usr/share/zsh/site-functions/_hostnamectl
[root@dzy ~]# touch hostnamectl
[root@dzy ~]# updatedb
[root@dzy ~]# locate hostnamectl
/root/hostnamectl
/usr/bin/hostnamectl
/usr/share/bash-completion/completions/hostnamectl
/usr/share/man/man1/hostnamectl.1.gz
/usr/share/zsh/site-functions/_hostnamectl

which

#查找命令的绝对路径
[root@dzy ~]# which ping
/usr/bin/ping
#查找命令的绝对路径,是通过PATH环境变量中的路径进行查找
[root@dzy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#不使用which的别名进行查找命令的绝对路径
[root@dzy ~]# which cp
alias cp='cp -i'
	/usr/bin/cp
[root@dzy ~]# \which cp
/usr/bin/cp

[root@dzy ~]# rpm -qf `which ping`
iputils-20160308-10.el7.x86_64

whereis

#查找系统二进制程序,man帮助文件,源代码文件 查找不到自己创建的文件
选项
	-b	#只查找二进制程序文件
	-m	#查找man帮助文件
	-s	#查找源代码文件
[root@dzy ~]# whereis ping
ping: /usr/bin/ping /usr/share/man/man8/ping.8.gz
[root@dzy ~]# whereis -b ping
ping: /usr/bin/ping
[root@dzy ~]# whereis -m ping
ping: /usr/share/man/man8/ping.8.gz
[root@dzy ~]# whereis -s ping
ping:[root@dzy ~]# 

type

#显示命令的类型
选项
	-a	#显示内置命令的绝对路径
	-p	#只显示命令的绝对路径
help命令可以显示系统中所有的内置命令

ping:[root@dzy ~]# type ping
ping is /usr/bin/ping
[root@dzy ~]# type -p ping
/usr/bin/ping
[root@dzy ~]# type cd
cd is a shell builtin
[root@dzy ~]# type -a cd
cd is a shell builtin
cd is /usr/bin/cd
[root@dzy ~]# type -ap cd
/usr/bin/cd

find

#查找和搜索文件
选项
	-type #根据文件类型进行查找
		f	#普通文件
		d	#目录
		l	#软连接文件
		s	#socket文件 套接字文件
		p	#管道文件
	-name	#根据名称进行查找
	-iname	#查找的时候忽略大小写
语法
               选项,条件   干什么
	命令 地区 类型 名称    动作   默认动作就是打印

#在/etc目录下进行查找 查找类型为普通文件 名称为 hostname 精确查找
[root@dzy ~]# find / -type f -name "hostname"
/proc/sys/kernel/hostname
/etc/hostname
/usr/bin/hostname
/usr/lib64/gettext/hostname
[root@dzy ~]# touch  /opt/hostname{,ctl}
[root@dzy ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
[root@dzy ~]# touch  /opt/test_hostname
[root@dzy ~]# touch  /opt/test_hostname.txt
[root@dzy ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
-rw-r--r--. 1 root root 0 Jul 10 10:32 test_hostname
-rw-r--r--. 1 root root 0 Jul 10 10:33 test_hostname.txt
[root@dzy ~]# find  /opt/  -type  f  -name "hostname"
/opt/hostname
#查找以hostname开头的文件
[root@dzy ~]# find  /opt/    -name  "hostname*"
/opt/hostname
/opt/hostnamectl
#查找以hostname为结尾的文件  
[root@dzy ~]# find   /opt/  -name  "*hostname"
/opt/hostname
/opt/test_hostname
#查找文件名称包含hostname的文件 
[root@dzy ~]# find  /opt/  -name "*hostname*"
/opt/hostname
/opt/hostnamectl
/opt/test_hostname
/opt/test_hostname.txt
#查找所有文件,包括隐藏文件  
[root@dzy ~]# touch   /opt/.hostname.log
[root@dzy ~]# find  /opt/  -name "*hostname*"
/opt/hostname
/opt/hostnamectl
/opt/test_hostname
/opt/test_hostname.txt
/opt/.hostname.log
[root@dzy ~]# find  /opt/  -type d -iname "*hostname*"
/opt/HOSTNAMECTL

rz

#将本地的文件上传到linux操作系统
#不能上传目录,需要将目录打成一个压缩包进行上传 只能上传4G以下的文件
[root@dzy ~]# yum  install -y lrzsz

选项
	-E	#当上传的文件已经存在时,系统会进行重命名 会在原来的文件名称后面加上.数字 从0开始
	
#执行命令,会跳出一个Windows界面的窗口,选择你要上传的文件
[root@dzy ~]# rz

sz

#将linux系统的文件下载到本地
[root@dzy ~]# sz

wget

#联网下载软件包
[root@dzy ~]# yum  install  -y  wget
选项
	-O	#指定下载的路径和名称
	-q	#静默输出
	--limit-rate=10k	#限制下载的速率

[root@dzy ~]# wget  http://www.baidu.com
--2020-07-10 11:57:50--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 112.80.248.75, 112.80.248.76
Connecting to www.baidu.com (www.baidu.com)|112.80.248.75|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html’
100%[===============================================================================>] 2,381       --.-K/s   in 0.008s  
2020-07-10 11:57:51 (290 KB/s) - ‘index.html’ saved [2381/2381]
[root@dzy ~]# wget   http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:00:16--  http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 95.211.80.227, 62.210.92.35, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
100%[===============================================================================>] 1,039,530    282KB/s   in 3.6s   
2020-07-10 12:00:20 (282 KB/s) - ‘nginx-1.18.0.tar.gz’ saved [1039530/1039530]
[root@dzy ~]# ll
total 1020
-rw-r--r--. 1 root root    2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
[root@dzy ~]# wget  -O  /opt/nginx.tar.gz  http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:01:41--  http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘/opt/nginx.tar.gz’
100%[===============================================================================>] 1,039,530    272KB/s   in 3.7s   
2020-07-10 12:01:46 (272 KB/s) - ‘/opt/nginx.tar.gz’ saved [1039530/1039530]
[root@dzy ~]# ll /opt/
total 1016
-rw-r--r--. 1 root root       0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root       0 Jul 10 10:32 hostnamectl
drwxr-xr-x. 2 root root       6 Jul 10 10:39 HOSTNAMECTL
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx.tar.gz
[root@dzy ~]# wget  -q  http://nginx.org/download/nginx-1.19.1.tar.gz
[root@dzy ~]# ll
total 2100
-rw-r--r--. 1 root root   41240 Mar 23 00:20 032220_1620_Zabbix1.png
-rw-r--r--. 1 root root    9810 Jul  8 00:06 download.html
-rw-r--r--. 1 root root    2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
-rw-r--r--. 1 root root 1047223 Jul  7 23:59 nginx-1.19.1.tar.gz
[root@dzy ~]# wget   --limit-rate=10k   http://nginx.org/download/nginx-1.18.0.tar.gz ^C
[root@dzy ~]# rm -rf ./*
[root@dzy ~]# wget   --limit-rate=10k   http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:11:13--  http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
32% [========================>                                                       ] 335,872     10.0KB/s  eta 70s

curl

#通过url规则进行文件传输工具
#测试网站使用的命令
选项
	-o	#将访问的数据内容写入到指定的文件中
	-s	#静默输出

[root@dzy ~]# curl  -o  ./baidu.html    www.baidu.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2381  100  2381    0     0    311      0  0:00:07  0:00:07 --:--:--   657
[root@dzy ~]# ll
total 1356
-rw-r--r--. 1 root root    2381 Jul 10 12:15 baidu.html
[root@dzy ~]# curl  -s   -o   ./nginx.tar.gz    http://nginx.org/download/nginx-1.18.0.tar.gz
上一篇:fabric crypto-config.yaml部分详解


下一篇:Android NFC近场通信1——NFC概述