Linux 常用命令
帮助命令
man
功能描述:是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助等信息
语法:man 【数字】 【命令或配置文件】
信息 功能
NAME 命令的名称和单行描述
SYNOPSIS 怎样使用命令
DESCRIPTION 命令功能的深入讨论
EXAMPLES 怎样使用命令的例子
实操
(1)查看ls命令的帮助手册
[root@hadoop101 ~]# man ls
(2)查看cd命令的帮助手册
[root@hadoop101 ~]# man cd
(3)查看clear命令的帮助手册
[root@hadoop101 ~]# man clear
(4)显示/etc/nologin 配置文件的帮助手册
[root@hadoop101 ~]# man nologin
help
功能描述:该命令是bash内建命令,用于显示bash内建命令的帮助信息
语法:help 【选项】【参数】
实操:
(1)查看cd命令的帮助信息
[root@hadoop101 ~]# help cd
(2)仅输出内建命令的命令格式
[root@hadoop101 ~]# help -s cd
linux中如何判断是不是shell内置命令?
判断方法是用which来查看命令,如果没有路径就是shell内置命令。
常用快捷键
常用快捷键 功能
ctrl + c 停止进程
ctrl+l 清屏
reset 彻底清屏
ctrl + q 退出
善于用tab键 提示,补全(更重要的是可以防止敲错)
上下键 查找执行过的命令
ctrl +alt linux和Windows之间切换
文件目录类操作
pwd
功能描述:显示用户当前工作目录的绝对路径
语法:pwd
ls
功能描述:用来显示目录列表
语法:ls 【选项】 【目录】
选项 功能
-a 显示包含隐藏文件(文件以".“开头的所有文件)
-A 显示除隐藏文件”.“和”…"以外的所有文件列表
-l 长数据串列出,包含文件的属性与权限等等数据;(常用)
-C 多列显示输出结果,默认
-R 递归显示目录下的所有文件列表和子目录列表
-s 以块(1块=1024字节)为单位显示文件的大小
实操:
(1)查看当前目录的所有内容信息
[root@Linux2 ~]# ls -al
总用量 276
drwxr-xr-x. 2 root root 4096 2月 3 15:46 公共的
drwxr-xr-x. 2 root root 4096 2月 3 15:46 模板
drwxr-xr-x. 2 root root 4096 2月 3 15:46 视频
…
每行列出的信息依次是:
文件类型、权限、链接数、文件属主、文件属组、文件大小用byte来表示、建立或最近修改的时间、文件名字
cd
功能描述:将当前工作目录切换到指定目录
语法:cd [参数]
参数 功能
cd绝对路径 切换路径
cd相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd - 回到上一次所在目录
cd … 回到当前目录的上一级
cd -P 跳转到实际物理路径,而非快捷键方式路径
mkdir
功能描述:创建新目录
语法:mkdir 【选项】 【目录】
选项 功能
-p 创建多层目录
-v 显示创建目录的详细过程
实操:
(1)在home目录下创建class23,并显示创建过程
[root@Linux2 home]# mkdir -v class23
mkdir: 已创建目录 “class23”
(2)在home目录下创建school文件夹,并在该问价夹下创建class23子文件夹,并显示创建过程
[root@Linux2 home]# mkdir -p /school/class23
mkdir: 已创建目录 “/school”
mkdir: 已创建目录 “/school/class23”
(3)在home目录下的school文件夹下创建连续目录class1~5
[root@Linux2 home]# mkdir /school/class{1…5}
(4)在home目录下的school文件夹下创建非连续多目录class6、class9、class11
[root@Linux2 home]# mkdir -vp /school/class{6,8,10}
rmdir
功能描述:删除空目录
语法:rmdir 【选项】 【目录】
选项 功能
-p 用递归的方式删除指定的目录路径中的空目录
-v 显示删除目录的详细过程
–help 显示指令的信息
实操:
(1)删除一个空的文件夹
[root@Linux2 ~]# mkdir -p test/test1
[root@Linux2 ~]# rmdir -pv test/test1
rmdir: 正在删除目录 “test/test1”
rmdir: 正在删除目录 “test”
touch
功能描述:创建空文件
语法:touch 【文件名称】
实操:
(1)在test/test1下创建一个空文件meinv.txt
[root@Linux2 ~]# mkdir -p test/test1
[root@Linux2 ~]# touch test/test1/meinv.txt
(2)在test/test1下创建批量创建空文件meinv1.txt、meinv2.txt、meinv3.txt、meinv4.txt
[root@Linux2 ~]# touch test/test1/meinv{1,2,3,4}.txt
rename
功能描述:批量为文件修改名称
语法:rename 【原字符串】 【目标字符串】 【文件】
经验技巧:如果文件名有一-定的规律则可 以用rename指令批量改变文件名。rename指令的本质是采用替换的方式将文件名中的指定字符串替换为目标字符串,在进行替换时需要使用shell通配符以匹配文件名。
cp
功能描述:cp指令用来将一个或者多个源文件或者目录复制到指定的目标文件或者目录
语法:cp 【选项】 【源文件】【目标文件】
选项 功能
-a 保持源文件的原有结构和属性,与选项“-dpR”的功能相同
-R或者-r 以递归的操作方式,将指定目录及其子目录中的所有文件复制到指 定的目标目录
-v 详细显示指令执行的操作
实操:
(1)复制文件
[root@hadoop101 ~]# cp -v xiyou/dssz/suwukong.txt xiyou/mingjie/
(2)递归复制整个文件夹
[root@hadoop101 ~]# cp -vr xiyou/dssz/ ./
经验技巧:cp指令可以一次复制多个源文件,但是要求最后一个参数必须为目录。
rm
功能介绍:rm指令用于删除给定的文件和目录。
语法:rm 【选项】 【文件或者目录】 (功能描述:删除目录中所有内容)
选项 功能
-r 递归删除目录中所有内容
-f 强制执行删除操作,而不提示用户进行确认。
-i 以交互的方式,提示用户进行确认是否删除文件。“n”不删除“y”删除
-v 显示指令的详细执行过程
实操:
(1)删除目录中的内容,并显示删除过程
[root@hadoop101 ~]# rm -v xiyou/mingjie/sunwukong.txt
(2)强制递归删除目录中所有内容,并显示删除过程
[root@hadoop101 ~]# rm -rfv dssz/
经验技巧:默认情况下, rm指令只能删除普通文件,删除目录时必须使用“r”或者"-R"选项递归删除目录;使用 rm指令的“-f” 选项时,不给出提示信息而直接执行删除操作,必须小心;
mv
功能介绍:mv移动文件与目录或重命名
语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
实操:
(1)重命名
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
(2)移动文件
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
经验技巧:如果在同一 目录下利用mv指令移动文件,可以实现文件改名操作。为防 止误操作而覆盖已经存在的文件,在使用mv指令时,最好加上“-i”选项
cat
功能介绍:查看文件内容,从第一行开始显示
语法: cat 【选项】 要查看的文件
选项 功能描述
-b 在非空行前面显示行号
-n 显示所有行的行号,包括空行
-s 压缩空行,多个空行连续出现时仅显示一个空行
实操:
1)查看文件内容并显示行号
[jinghang@hadoop101 ~]$ cat -n houge.txt
more
功能介绍:more文件内容分屏查看器,more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明
语法:more 要查看的文件
操作 功能说明
空白键(空格)或(space)
Enter 代表向下翻一页;
q 代表立刻离开 more。不再显示改文件的内容
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
实操:
(1)采用more查看文件
[root@hadoop101 ~]# more /etc/profile
less
功能介绍:less分屏显示文件内容
它的功能与more指令类似,但是比more指令更强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
语法:less 要查看的文件
操作 功能说明
空白键 向下翻动一页;
/字符串 向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字符串 向上搜寻『字串』的功能;n:向上查找;N:向下查
q 离开 less 这个程序;
实操:
(1)采用more查看文件
[root@hadoop101 ~]# less /etc/profile
echo
功能介绍:echo指令用于在shell中打印shell变量的值,或者直接输出指定的字符串
语法:echo [选项] [输出内容]
选项 功能
-e 支持反斜线控制的字符串转换
控制字符串 作用
\\ 输出\本身
\n 换行符
\t 制表符,也就是Tab键
实操:
[root@hadoop101 ~]$ echo “hello\tworld”
hello\tworld
[root@hadoop101 ~]$ echo -e “hello\tworld”
hello world
head
功能介绍:head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
语法:
选项 功能
-n <行数> 指定显示头部内容的行数
-v 总是显示文件名的头信息
head 文件
head -n 5 文件 (查看文件5行内容,5可以是任意行数)
实操:
(1)查看文件的头2行,并显示文件名信息
[root@hadoop101 ~]# head -nv 2 /etc/profile
tail
功能介绍:tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
语法:
选项 功能
-n<行数> 输出文件尾部n行内容
-f 显示文件最新追加的内容,监视文件变化
(1)tail 文件 (功能描述:查看文件后10行内容)
(2)tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
实操:
(1)查看文件头1行内容
[root@hadoop101 ~]# tail -n 1 smartd.conf
(2)实时追踪该档的所有更新
[root@hadoop101 ~]# tail -f houge.txt
">"和“>>”
功能介绍: > 覆盖和 >> 追加
语法:
(1)ll >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ll >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
实操:
(1)将ls查看信息写入到文件中
[root@hadoop101 ~]# ls -l>houge.txt
(2)将ls查看信息追加到文件中
[root@hadoop101 ~]# ls -l>>houge.txt
(3)采用echo将hello单词追加到文件中
[root@hadoop101 ~]# echo hello>>houge.txt
ln
功能介绍:(硬)软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
语法:ln -s【原文件或目录】【软链接名】
选项 功能
-i 创建链接时,如果目标文件已经存在,则提示用户确认覆盖
-s 创建符号链接。如果系统不支持符号链接,则导致命令出错
-v 详细信息模式,输出指令的详细执行过程
实操:
(1)创建软连接
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
[root@hadoop101 ~]# ll
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
(2)删除软连接
[root@hadoop101 ~]# rm -rf houzi
(3)进入软连接实际物理路径
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
经验技巧
ln 默认创建链接为硬链接,不能对目录建立链接。要为目录建立链接必须使用“-s”选项,指明创建的链接类型为符号链接。
只能为普通文件创建硬链接, 不能为目录创建硬链接。而符号链接(软连接)则没有任何限制,
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
history
功能介绍:history指令用于显示指定数目的指令命令
语法:history n (n:表示显示指定数目的命令)
实操:
(1)查看已经执行过的历史命令
[root@hadoop101 test1]# history
(1)查看已经执行过的10条历史命令
[root@hadoop101 test1]# history 10
搜索查找类操作
find
功能介绍:find 查找文件或目录
find指令从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端
语法:find 【搜索范围】【选项】
选项 功能
-name <查询方式> 按照指定的文件名查找模式查找文件
-user <用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件
-empty 查找文件大小为0的目录或文件
-type<文件类型> 按照指定的文件类型查找文件,支持的文件类型如下: b块设备文件(block device) 、c字符设备文件( characterdevice)、d目录(directory)、p命名管道(FIFO) 、f普通文件、1符号链接文件(symbolic links) 、s网络套接字文件( socket)
实操:
((1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user jinghang
(3)按文件大小:在/home目录下查找大于2M的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +2048k
(4)寻找test目录下的空文件或文件夹
[root@hadoop101 ~]# find test -empty
(5)寻找test目录下的文件
[root@hadoop101 ~]# find test -type f
grep
功能介绍:grep 过滤查找,在文件中搜索匹配的行 (管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理)
语法:grep 【选项】 【匹配模式】 【源文件】
选项 功能
-n 显示匹配行及行号
-i 忽略大小写的不同
-v 搜索不含指定字符串的行
实操:
(1)查找某test文件在第几行
[root@hadoop101 ~]# ls | grep -n test
(2)查找除了test文件,并显示行号
[root@hadoop101 ~]# ls | grep -vn test
which
功能介绍:which指令用于查找并显示给指定的绝对路径
语法:which 【指令名】
实操:
(1)查找并显示 ll 指令
which ll
(2)查找并显示mv指令
which mv
whereis
功能介绍:whereis 显示指令及相关文件的路径
语法:whereis 【选项】 【参数】
选项 功能
-b 仅查找二进制程序或命令
实操:
(1)显示rm指令的程序路径和man手册页路径
[root@Linux2 ~]# whereis rm
(2)显示rm指令的程序路径
[root@Linux2 ~]# whereis -b rm
用户管理类操作
useradd
功能介绍:useraddd添加新用户
语法:useraddd 【选项】 【用户名】
选项 功能
-g 指定用户的主要组。默认情况下祖名与用户名同名
-d 设置用户的宿主目录,默认的宿主目录为“/home/”目录下与用户名同名的目录
-u 指定用户的ID号
实操:
(1)添加一个用户
[root@hadoop101 ~]# useradd zhangsan
[root@hadoop101 ~]#ll /home/
password
功能介绍:password 设置用户密码
语法:password 【用户】
实操:
(1)设置用户的密码
[root@hadoop101 ~]# passwd zhangsan
id
功能介绍:id查看用户是否存在
语法:id 【用户名】
实操:
(1)查看用户是否存在
[root@hadoop101 ~]# id zhangsan
查看创建用户
语法:cat /ect/passwd
su
功能介绍:su 切换用户
语法:su 【用户名】
实操:
(1)切换用户
[root@hadoop101 ~]#su tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop101 ~]#exit
[root@hadoop101 ~]#su - tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tangseng/bin
who
功能介绍:who 查看登录用户信息
语法:
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
实操:
1)显示自身用户名称
[root@hadoop101 opt]# whoami
(2)显示登录用户的用户名
[root@hadoop101 opt]# who am i
userdel
功能介绍:userdel删除用户名及相关文件
语法:userdel 【选项】 【用户名】
选项 功能
-r 删除用户的同时,删除用户相关的所有文件
-f 强制删除用户,即使用户当前已登录
实操:
(1)删除用户但保存用户主目录
[root@hadoop101 ~]#userdel zhangsan
[root@hadoop101 ~]#ll /home/
(2)删除用户和用户主目录,都删除
[root@hadoop101 ~]#useradd lisi
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]#userdel -r lisi
[root@hadoop101 ~]#ll /home/
usermod
功能介绍:usermod指令用于修改用户的基本信息
语法:usermod 【选项】 【用户名】
选项 功能
-g 修改用户的初始登录组,给定的组必须存在
-c 修改用户 的注释信息
-d 修改用户的宿主目录
实操:
(1)将用户加入到用户组
[root@hadoop101 ~]#usermod -g root lisi
(2)修改用户李四的注释信息
[root@hadoop101 ~]# usermod -c “hello word” lisi
sudo
功能介绍:sudo设置普通用户具有root权限
语法:sudo 【指令】
为用户添加root操作指令权限:
1.添加jinghang用户,并对其设置密码。
[root@hadoop101 ~]#useradd jinghang
[root@hadoop101 ~]#passwd jinghang
2.修改配置文件
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
jinghang ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
jinghang ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用jinghang帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
实操:
(1)用普通用户在/opt目录下创建一个文件夹
[jinghang@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown jinghang:jinghang module/
文件权限类操作
文件属性
Linux系统是一种典型的多用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
从左到右的10字符表示
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
(4)第7-9位确定其他用户拥有该文件的权限 —Other
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
chmod
功能介绍:chmod改变权限
语法:
chmod [{ugoa}{±=}{rwx}] 文件或目录
chmod [mode=421] [文件或目录]
实操:
(1)修改文件使其所属主用户具有执行权限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
经验技巧:
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
chown
功能介绍:chown [选项] [最终用户] [文件或目录]
选项 功能
-R 递归操作
-v 显示指令详细的执行过程
实操:
(1)修改文件所有者
[root@hadoop101 ~]# chown jinghang houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 jinghang root 551 5月 23 13:02 houge.txt
(2)递归改变文件所有者和所有组
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R jinghang:jinghang xiyou/
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 jinghang jinghang 4096 9月 3 21:20 xiyou
chgrp
功能介绍:chgrp 改变所属组
语法:chgrp [最终用户组] [文件或目录]
实操:
(1)修改文件的所属组
[root@hadoop101 ~]# chgrp root houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 jinghang root 551 5月 23 13:02 houge.txt
时间日期类操作
date 显示当前时间
语法:
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date +“%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
案例操作:
(1)显示当前时间信息
[root@hadoop101 ~]# date
2017年 06月 19日 星期一 20:53:30 CST
(2)显示当前时间年月日
[root@hadoop101 ~]# date +%Y%m%d
20170619
(3)显示当前时间年月日时分秒
[root@hadoop101 ~]# date “+%Y-%m-%d %H:%M:%S”
2017-06-19 20:54:58
date 显示非当前时间
语法:
(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功能描述:显示明天时间)
案例实操
(1)显示前一天
[root@hadoop101 ~]# date -d ‘1 days ago’
2017年 06月 18日 星期日 21:07:22 CST
(2)显示明天时间
[root@hadoop101 ~]#date -d ‘-1 days ago’
2017年 06月 20日 星期日 21:07:22 CST
date 设置系统时间
语法:date -s 字符串时间
案例实操:
(1)设置系统当前时间
[root@hadoop101 ~]# date -s “2019-06-19 20:52:18”
cal 查看日历
语法:cal 【选项】
案例操作
(1)查看当前月的日历
[root@hadoop101 ~]# cal
(2)查看2017年的日历
[root@hadoop101 ~]# cal 2019
压缩和解压类操作
gzip/gunzip
功能介绍: gzip/gunzip 压缩与解压缩
语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
实操:
(1)gzip压缩
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# ls
houge.txt.gz
(2)gunzip解压缩文件
[root@hadoop101 ~]# gunzip houge.txt.gz
[root@hadoop101 ~]# ls
houge.txt
经验技巧:
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
zip/unzip
功能介绍: zip/unzip 压缩与解压缩
语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
选项 功能
-r 递归处理,将指定目录下的所有文件和子目录一并处理
unzip [选项] XXX.zip ( 功能描述:解压缩文件)
选项 功能
-d<目录> 指定解压后文件的存放目录
实操:
经验技巧
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
tar
功能介绍: tar 打包备份
语法:tar [选项] XXX.tar.gz 将要打包进去的内容 (打包目录,压缩后的文件格式.tar.gz)
选项 功能
-z 打包同时压缩
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-x 解包.tar文件
经验技巧
tar指令的3个主选项“c”,“x”只能使用一个,不能同时使用没否则将导致命令报错
进程管理类操作
ps
功能介绍: 查看当前系统进程状态
语法:
ps -aux | grep xxx (功能描述:查看系统中所有进程)
选项 功能
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示后台进程得运行参数
显示信息说明
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本 机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
ps -ef |grep xxx (功能描述:可以查看子父进程之间的关系)
显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
经验技巧
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
kill
功能介绍: kill 终止进程
语法:
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
选项 功能
-9 表示强迫进程立即停止
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
案例实操
(1)杀死浏览器进程
[root@hadoop101 桌面]# kill -9 5102
(2)通过进程名称杀死进程
[root@hadoop101 桌面]# killall firefox
pstree
功能介绍: pstree 查看进程树
语法:pstree [选项]
选项 功能
-p 显示进程的PID
-u 显示进程的所属用户
实操:
(1)显示进程pid
[root@hadoop101 datas]# pstree -p
(2)显示进程所属用户
[root@hadoop101 datas]# pstree -u
性能监控命令
top
功能介绍:top指令实时报告系统整体性能情况
系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、内存瓶颈还是程序导致的系统问题;
使用top工具能够比较全面的查看我们关注的点
语法:top 【选项】
选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。
案例操作:
[root@hadoop101 jinghang]# top -d 10
[root@hadoop101 jinghang]# top -i
[root@hadoop101 jinghang]# top -p 2575
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序
操作 功能
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top
k 根据进程得id,杀死进程
free
功能介绍: 显示内存的使用情况
语法:free 【选项】
选项 功能
-b 以字节为单位显示内存使用情况
-k 以千字节为单位显示内存使用情况。默认
-m 以兆字节为单位显示内存使用情况
-t 显示汇总结果
-s<间隔秒数> 以指定间隔的秒数,显示内存使用情况
案例实操:
(1)显示内存使用情况,以兆为单位输出信息
[root@hadoop101 home]# free -m
netstat
功能介绍: netstat 显示网络统计网络系统得状态信息和端口占用情况
语法:
netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
案例实操
(1)通过进程号查看该进程的网络信息
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
(2)查看某端口号是否被占用
[root@hadoop101 桌面]# netstat -nlp | grep 端口号
磁盘分区类操作
df
功能介绍:df 查看磁盘空间使用情况(列出文件系统的整体磁盘使用量,显示磁盘分区上可用的磁盘空间)
语法:df 【选项】
选项 功能
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
案例实操
(1)查看磁盘使用情况
[root@hadoop101 ~]# df -h
显示结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 4.1G 9.9G 29% /
tmpfs 931M 228K 931M 1% /dev/shm
/dev/sda1 190M 39M 141M 22% /boot
/dev/sr0 3.8G 3.8G 0 100% /media/CentOS_6.10_Fina
du
功能介绍: du 显示每个文件和目录的磁盘使用空间占用情况
语法:du 【选项】 【目录】
选项 功能
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
案例实操:
(1)查询 /opt 目录的磁盘占用情况,深度为1
[root@jinghang01 ~]# du -ach --max-depth=1 /opt
显示结果:
4.0K /opt/rh
4.0K /opt/software
12K /opt
12K 总用量
fdisk -l
mount/umount
概述:对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它就是一个根目录、一个独立唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,Linux采用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
语法:
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
工作常用指令
1)统计/root文件夹下的文件的个数
ls -l /root | grep “^-” | wc -l
2)统计/root文件夹下的目录的个数
ls -l /root | grep “^d” | wc -l
3)统计/root文件夹下文件的个数,包括子文件夹里的
ls -lR /root | grep “^-” | wc -l
4)统计文件夹下目录的个数,包括子文件夹里的
ls -lR /root | grep “^d” | wc -l
5)以树状显示目录结构
yum install tree tree
软件包管理类操作
RPM
概述:RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe,是Linux这系列操作系统里面的打包安装工具
RPM包格式
例如:Apache-1.3.23-11.i386.rpm
-“apache” 软件名称
-“1.3.23-11”软件的版本号,主版本和此版本
-“i386”是软件所运行的硬件平台,Intel 32位微处理器的统称
-“rpm”文件扩展名,代表RPM包
查询
语法
rpm -qa (功能描述:查询所安装的所有rpm软件包)
rpm -qi 安装包 (功能描述:查询安装的软件包的详细信息)
案例实操
经验技巧:
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
卸载
语法:rpm -e 【软件包】【–nodeps】
选项 功能
-e 卸载软件包
--nodeps 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。
实操案例:
安装
语法:rpm -ivh 【软件包】【–nodeps】
选项 功能
-i -i=install,安装
-v -v=verbose,显示详细信息
-h -h=hash,进度条
--nodeps 不检测依赖进度
案例实操
(1)安装firefox软件
[root@hadoop101 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
YUM
概述:YUM(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
语法:yum 【选项】 【参数】
选项
选项 功能
-y 对所有提问都回答“yes”
参数
选项 功能
install 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可用的更新rpm软件包
remove 删除指定的rpm软件包
list 显示软件包信息
clean 清理yum过期的缓存
deplist 显示yum软件包的所有依赖关系
案例实操:
(1)采用yum方式安装firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
定时任务操作crondtab
启动服务:service crond restart | start
功能介绍:crontab指令周期性执行的任务
语法:crontab [选项]
选项 功能
-e 编辑crontab定时任务
-l 显示待执行任务列表
-r 删除当前用户所有的crontab任务
-i 删除用户的计划任务前要求用户进行确认
案例操作:
(1)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt