linux常用的命令解释

1.man命令的操作按键:

按键

用处

空格键

向下翻一页。

[Page Down]

向下翻一页。

[Page Up]

向上翻一页。

[HOME]

直接前往首页。

[END]

直接前往尾页。

/关键词

从上至下搜索某个关键词,如"/linux"。

?关键词

从下至上搜索某个关键词,如"?linux"。

n

定位到下一个搜索到的关键词。

N

定位到上一个搜索到的关键词。

q

退出帮助文档。

 

参数

作用

-m=MODE

默认的文件目录权限,如"-m 755"

-p

连续创建多层目录(若文件夹已存在则忽略)

-v

显示创建的过程

 

2.默认保存历史命令(可用上下键翻看);命令仅需输入前几位就可以用tab键补全

3.echo命令用于在终端显示字符串或变量,格式为:“echo [字符串 | 变量]”。
将echo命令的字符串输出到终端:

[root@linuxprobe~]# echo Linuxprobe.Com

Linuxprobe.Com

用echo命令查看SHELL变量的值(前面有$符号):

[root@linuxprobe~]# echo $SHELL

/bin/bash

查看本机主机名:

[root@linuxprobe~]# echo $HOSTNAME

Linuxprobe.Com

4.date命令用于显示/设置系统的时间或日期,格式为:”date [选项] [+指定的格式]”。

强大的date命令能够按照指定格式显示系统的时间或日期,只需键入”+”号开头的字符串指定其格式,详细格式如下:

参数作用
%t 跳格[TAB键]
%H 小时(00-23)
%I 小时(01-12)
%M 分钟(00-59)
%S 秒(00-60)
%X 相当于%H:%M:%S
%Z 显示时区
%p 显示本地AM或PM
%A 星期几 (Sunday-Saturday)
%a 星期几 (Sun-Sat)
%B 完整月份 (January-December)
%b 缩写月份 (Jan-Dec)
%d 日(01-31)
%j 一年中的第几天(001-366)
%m 月份(01-12)
%Y 完整的年份

查看当前的系统时间:

[root@linuxprobe~]# date

MonAug 24 16:11:23 CST 2015

按照”年-月-日 小时:分钟:秒”的格式:

[root@linuxprobe~]# date "+%Y-%m-%d %H:%M:%S"

2015-08-2416:29:12

设置系统时间为2015年9月1日8点半:

[root@linuxprobe~]# date -s "20150901 8:30:00"

TueSep 1 08:30:00 CST 2015

查看当前系统时间:

[root@linuxprobe~]# date

TueSep 1 08:30:01 CST 2015

查看本地系统时区:

[root@linuxprobe~]# date "+%Z"

CST

查看星期几:

[root@linuxprobe~]# date "+%A"

Tuesday

输入当前是上午还是下午:

[root@linuxprobeDesktop]# date "+%p"

AM

判断今天是一年中的第几天:

[root@linuxprobe~]# date "+%j"

244

5.reboot命令用于重启系统(仅root用户可以使用),格式为:”reboot”。

重启计算机:

[root@linuxprobe~]# reboot

6.wget命令用于使用命令行下载网络文件,格式为:“wget [参数] 下载地址”。

参数作用
-b 后台下载模式。
-O 下载到指定目录。
-t 最大尝试次数。
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等。
-r 递归下载
 

首先需要配置您的Linux系统能够正常登入互联网,然后使用wget命令下载由《Linux就该这么学》提供的红帽RHEL7系统镜像:

[root@linuxprobe ~]# wget http://www.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
--2015-09-01 18:25:24-- http://www.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
Resolving www.linuxprobe.com... 106.185.25.197
Connecting to www.linuxprobe.com|106.185.25.197|:80... connected.
Saving to: 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso'
100%[====================================>] 3,743,416,320 1.82M/s in 32m 27s
2015-09-01 18:57:51 (1.83 MB/s) - 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso' saved [3743416320/3743416320]

递归下载《Linux就该这么学》的整站页面与所有资料,下载完成后会在当前目录中保存成名为”www.linuxprobe.com“的目录:

[root@linuxprobe ~]# wget -r -p http://www.linuxprobe.com

--2015-09-01 18:31:41-- http://www.linuxprobe.com/

Resolving www.linuxprobe.com... 106.185.25.197

Connecting to www.linuxprobe.com|106.185.25.197|:80...connected.

HTTP request sent, awaiting response... 200 OK

Length: unspecified [text/html]

Saving to: `www.linuxprobe.com/index.html'

7.ifconfig用于获取网卡配置与网络状态等信息:格式为”ifconfig [网络设备] [参数]”。
查看本机当前的网卡配置与网络状态等信息:

[root@linuxprobe~]# ifconfig

eno16777728:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255

inet6fe80::20c:29ff:fe9c:6373 prefixlen 64 scopeid 0x20<link>

ether00:0c:29:9c:63:73 txqueuelen 1000 (Ethernet)

RXpackets 61 bytes 6612 (6.4 KiB)

RXerrors 0 dropped 0 overruns 0 frame 0

TXpackets 32 bytes 4511 (4.4 KiB)

TXerrors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

lo:flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet127.0.0.1 netmask 255.0.0.0

inet6::1 prefixlen 128 scopeid 0x10<host>

looptxqueuelen 0 (Local Loopback)

RXpackets 2 bytes 140 (140.0 B)

RXerrors 0 dropped 0 overruns 0 frame 0

TXpackets 2 bytes 140 (140.0 B)

TXerrors 0 dropped 0 overruns 0 carrier 0 collisions 0

8.free命令用于显示当前系统中内存的使用量情况,格式为:“free [-m/-g]”。

以m为单位显示当前系统中内存的使用量情况:

[root@linuxprobe~]# free -m

总计内存量已用量可用量进程共享的内存量磁盘缓存的内存量缓存的内存量
  total used free shared buffers cached
Mem: 1483 885 598 9 0 255
-/+ buffers/cache:   628 855      
Swap: 2047 0 2047      













9.who命令用于查看当前登入主机的用户情况,格式为:”who [参数]”。

查看当前登入主机用户的情况:

[root@linuxprobe~]# who

登陆的用户名终端设备登陆到系统的时间
root :0 2015-08-24 17:52 (:0)
root pts/0 2015-08-24 17:52 (:0)


10.pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。

参数作用
-P 显示真实路径。(即非快捷链接的地址)
 

查看当前的工作路径:

[root@linuxprobeetc]# pwd

/etc

11.cd命令用于切换工作路径,格式为:“cd[目录名称]”。

参数作用
- 切换到上一次的目录,如“cd -”
~ 切换到“家目录”,如"cd ~"
~username 切换到其他用户的家目录,如"cd ~teak"
.. 切换到上级目录,如"cd .."
 

切换进/etc目录中:

[root@linuxprobe~]# cd /etc

切换进/bin目录中:

[root@linuxprobeetc]# cd /bin

返回上级目录(即/etc目录):

[root@linuxprobebin]# cd -

/etc

返回用户自己的家目录:

[root@linuxprobeetc]# cd ~

[root@linuxprobe~]#

12.ls命令用于查看目录中有那些文件,格式为:“ls [选项] [文件] ”。

查看当前目录下有那些文件(长格式):

[root@linuxprobeetc]# ls -al

参数作用
-a 查看全部文件(包括隐藏文件)
-d 仅看目录本身
-h 易读的文件容量(如k,m,g)
-l 显示文件的详细信息
 

查看/etc目录中有那些文件:

[root@linuxprobe~]# ls /etc

abrtgss printcap

adjtimegssproxy profile

aliasesgtk-2.0 profile.d

aliases.dbgtk-3.0 protocols

alsahba.conf pulse

alternativeshost.conf purple

anacrontabhostname qemu-ga

asound.confhosts qemu-kvm

at.denyhosts.allow radvd.conf

………省略部分文件………

查看/etc目录的权限与属性:

[root@linuxprobe~]# ls -ld /etc

drwxr-xr-x.132 root root 8192 Jul 10 10:48 /etc

追加-h参数,以K/M/G为单位显示容量:

[root@linuxprobe~]# ls -ldh /etc

drwxr-xr-x.132 root root 8.0K Jul 10 10:48 /etc

13.

cat命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。

查看文本文件:

[root@linuxprobe~]# cat 文件名

参数作用
-n 显示行号
-b 显示行号(不包括空行)
-A 显示出“不可见”的符号,如空格,tab键等等
 

more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。

查看文本文件:

[root@linuxprobe~]# more 文件名

参数作用
-数字 预先显示的行数(默认为一页)
-d 显示提示语句与报错信息





14.touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”。

我们可以用“touch test”轻松的创建出一个名字为test的空白文档,所以这个功能无须介绍。

对于在Linux中的文件有三种时间:

更改时间(mtime):内容修改时间(不包括权限的)

更改权限(ctime):更改权限与属性的时间

读取时间(atime):读取文件内容的时间

如果黑客执行了touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)

参数作用
-a 近修改“访问时间”(atime)
-m 近修改“更改时间”(mtime)
-d 同时修改atime与mtime
-t 要修改成的时间[YYMMDDhhmm]
 

15.mkdir用于创建空白的文件夹,格式为:“mkdir[选项] 目录”。

创建文件夹:

[root@linuxprobe~]# mkdir 文件夹名

参数作用
-m=MODE 默认的文件目录权限,如"-m 755"
-p 连续创建多层目录(若文件夹已存在则忽略)
-v 显示创建的过程
 

创建一个名字叫linuxprobe的目录:

[root@linuxprobe~]# mkdir linuxprobe

使用ls命令查看该目录的权限属性等信息:

[root@linuxprobe~]# ls -ld linuxprobe/

drwxr-xr-x.2 root root 6 Aug 24 19:25 linuxprobe/

还记得刚刚用cd命令进入linuxprobe目录吗?这里是个小技巧,变量!$或(键盘按键)代表上一条命令的参数。

[root@linuxprobe~]# cd !$

cdlinuxprobe

 

pwd命令也是刚刚学习过的,用于显示当前的工作路径。

[root@linuxprobelinuxprobe]# pwd

/root/Desktop/linuxprobe

一次创建5个目录a/b/c/d/e:

[root@linuxprobelinuxprobe]# mkdir -p a/b/c/d/e

查看目录的属性,验证是否成功:

[root@linuxprobelinuxprobe]# ls -ld a/b/c/d/e/

drwxr-xr-x.2 root root 6 Aug 29 10:16 a/b/c/d/e/

16.cp命令用于复制文件或目录,格式为:“cp[选项] 源文件 目标文件”。

复制命令的三种情况:

目标文件是一个目录,会将源文件复制到该目录中。
目标文件是一个文件,会将源文件覆盖该文件。
目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。

参数作用
-p 保留原始文件的属性
-d 若对象为"链接文件",则保留该"链接文件"的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p,d,r为上述的参数)
 

创建一个名为install.log的文件:

[root@linuxprobe~]# touch install.log

将install.log复制为x.log:

[root@linuxprobe~]# cp install.log x.log

查看到确实出现了文件x.log

[root@linuxprobe~]# ls

install.logx.log

17.mv命令用于移动文件或改名,格式为:“mv[选项] 文件名 [目标路径|目标文件名]”。
将文件aaa重命名为bbb:

[root@linuxprobe~]# mv aaa bbb

18.rm命令用于删除文件或目录,格式为:“rm[选项] 文件”。

删除普通文件并提示确认信息:“rm 文件名”

删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”

参数作用
-f 忽略警告信息
-i 删除前先询问
-r 删除文件夹
 

查看当前目录下的文件:

[root@linuxprobe~]# ls

install.logx.log

删除install.log文件,输入”y”即确认:

[root@linuxprobe~]# rm install.log

rm:remove regular empty file ‘install.log’? y

删除x.log文件而无需确认:

[root@linuxprobe~]# rm -rf x.log

Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录内有文件时则报错。

19.dd命令用于指定大小的拷贝的文件或指定转换文件,格式为:“dd [参数]”。

参数作用
if 输入的文件名称。
of 输出的文件名称。
bs 设置每个“块”的大小。
count 设置要拷贝“块”的个数。
conv=ucase 将字母从小写转换为大写。
conv=lcase 把字符从大写转换为小写。
 

将光驱设备拷贝成镜像文件:

[root@linuxprobe~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso

7311360+0records in

7311360+0records out

3743416320bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

生成一个560m的空白文件:

[root@linuxprobe~]# dd if=/dev/zero of=560_file count=1 bs=560M

1+0records in

1+0records out

587202560bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

将硬盘的MBR信息拷贝出来:

[root@linuxprobe~]# dd if=/dev/sda of=sda_image count=1 bs=512K

1+0records in

1+0records out

524288bytes (524 kB) copied, 0.0449481 s, 11.7 MB/s

20.passwd命令用于修改用户的密码,格式为:“passwd[选项] [用户名]”。

修改当前用户的密码:“passwd”

修改其他用户的密码:“passwd 其他用户名”

参数作用
-l 锁定用户禁止其登陆
-u 解除锁定,允许用户登陆。
--stdin 允许从标准输入修改用户密码,如(echo "NewPassWord" | passwd -stdin Username)
-d 使帐号无密码
-e 强制用户下次登陆时修改密码
-S 显示用户的密码状态


21.tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。

打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名”

解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”

参数作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
 

将/etc目录内文件打包并通过gzip格式压缩:

[root@linuxprobe~]# tar czvf etc.tar.gz /etc

tar:Removing leading `/' from member names

/etc/

/etc/fstab

/etc/crypttab

/etc/mtab

/etc/fonts/

/etc/fonts/conf.d/

/etc/fonts/conf.d/65-0-madan.conf

/etc/fonts/conf.d/59-liberation-sans.conf

/etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf

/etc/fonts/conf.d/59-liberation-mono.conf

/etc/fonts/conf.d/66-sil-nuosu.conf

……………………………………

将etc.tar.gz解压到/root/etc目录中:

[root@linuxprobeost ~]# mkdir /root/etc

开始解压etc.tar.gz文件:

[root@linuxprobe~]# tar xzvf etc.tar.gz -C /root/etc

21.grep命令用于对文本进行搜索,格式为:“grep[选项] [文件]”。

搜索某个关键词:“grep 关键词 文本文件”

参数作用
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的次数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有“关键词”的行。
 

 

搜索在/etc/passwd中”/sbin/nologin”出现的行,找出系统中不允许登陆的用户。

[root@linuxprobe~]# grep /sbin/nologin /etc/passwd

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

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

………………………………

找出文件“/usr/share/gedit/plugins/snippets/docbook.xml”中所有包含entry的行并输出到/root/lines:

答案模式:grep entry /usr/share/gedit/plugins/snippets/docbook.xml>> /root/lines

22.find命令用于查找文件,格式为:“find[查找路径] 寻找条件 操作”。

这里需要注意下find命令非常灵活导致参数非常复杂,这里不要求大家记住,用时来查即可。

对于常用搜索路径有几个小窍门:“~”代表用户的家目录,“.”代表当前目录,“/”代表根目录。

参数作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间-n指n天以内,+n指n天以前
-ctime -n +n 匹配修改权限的时间-n指n天以内,+n指n天以前
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新却比f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件)
--size 匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小于50k的文件)
-prune 忽略某个目录
--exec {} \; 后面可接对搜索到结果进一步处理的命令(下面会有演示)
 

 

 

搜索在/etc/中所有以host开头的文件:

其中的”host*”表示所有以host开头的文件:

[root@linuxprobe~]# find /etc -name "host*" -print

/etc/avahi/hosts

/etc/host.conf

/etc/hosts

/etc/hosts.allow

/etc/hosts.deny

/etc/selinux/targeted/modules/active/modules/hostname.pp

/etc/hostname

搜索整个系统中所有包含SUID的文件(因SUID的数字表示法是4,而减号表示只要包含即可)。

[root@linuxprobe~]# find / -perm -4000 -print

/usr/bin/fusermount

/usr/bin/su

/usr/bin/umount

/usr/bin/passwd

/usr/sbin/userhelper

/usr/sbin/usernetctl

………………………………

找出用户linuxprobe的文件并复制到/root/findresults目录。

重点是”-exec {} \;”其中的{}代表find命令搜索出的文件,记住结尾必须是\;

[root@linuxprobe~]# find / -user linuxprobe -exec cp -arf {} /root/findresults/ \;

posted @ 2019-10-22 20:18  Bieber诺诺吖  阅读(342)  评论(0编辑  收藏  举报