Linux学习之路--常用命令讲解

时间:2021-12-07 09:59:47

Linux常用命令讲解


1.命令格式:命令 [-选项]  [参数]

超级用户的提示符是#

一般用户的提示符是$

如:ls -la /usr
说明:
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a   ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all  ls –a

eg:

#ls  显示文件信息

#ll  显示文件(不包括隐藏文件)具体信息 等于 #ls -l

#ll -a 显示所有文件(包括隐藏文件)具体信息

#ll -htr aa  显示最近修改的文件 h是易读的

2.su 命令
作用:切换用户身份
语法:su [选项] 用户名
- 表示用户的环境变量一起切换
-c 仅执行一次命令,而不切换用户身份 
$ su – root 
env
$ su – root –c “useradd longjing”

eg

$ su – root

3.cd 
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录]

eg

#cd / 切换到根目录 

#cd .. 回到上一级目录 
#cd . 当前目录
#cd - 显示并打开到上一次操作的目录 
#cd ~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)


4.ls 
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]

eg
#ls -a   //all 显示所有文件,注意隐藏文件,特殊目录.和.. 
#ls -l    //(long) 显示详细信息 
#ls -R  //(recursive) 递归显示当前目录下所有目录 
#ls -r   //(reverse) 逆序排序
#ls -t   //(time) 按修改时间排序(降序)
#ll       //相当于 ls –l


5.pwd 
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
#pwd [-P]

eg

#pwd 


6.mkdir 
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。

eg

#mkdir -p aaa/bbb

#mkdir ddd

 

7.touch

命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间 
语法:touch 文件名 
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格

eg

#touch a.txt

#touch {a.txt,b.txt}


8.cp
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录 

-p 保留文件属性 (原文件的时间不变)


eg:
  相对路径

  #cp –R /etc/* .

  #cp –R ../aaa ../../test/
  绝对路径

  #cp –R /ect/service /root/test/aa/bb

#cp -p aaa.log  bbb  //这样操作文件的时间不会改变适用于移动日志文件

 

9.mv 
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录

#mv aaa1 bbb1


10.rm
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

#rm -rf aaa1

注意:工作中,谨慎使用rm –rf 命令。
扩展点:删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf \;

eg

#rm -rf aaa1

  删除乱码文件

  #ll -i 

  #find . -inum 1490945 -exec rm {} -rf \

11.cat 
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-A 显示所有内容,包括隐藏的字符 
-n 显示行号 a
eg

#cat /etc/services


12.more
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出

#more /etc/services


13.head 

命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数 
eg:

#head -20 /etc/services

#head –n 3 /etc/services

 

14.tail 
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行 
语法:tail [文件名] 
-n 指定行数 
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services >config.log

eg

#tail -10 aaa

 

15.ln 
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件 
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接

eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard 
创建文件/etc/service的硬链接/service.hard 
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services
1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13链接文件的长度
格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx 
2,-> 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
1,相当于 cp -p +同步更新 
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误) 
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name

eg

#ln -s aaa /aaa.soft

 

16.man

英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services 
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍

扩展:man的级别 (帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)

eg

#man cp


17.help
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令

命令名 --help
命令名 --help 列举该命令的常用选项
eg: cp --help
文件搜索命令

eg

#help cd


18.find 
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录 
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用\*。
eg: # find . –name *g
-size 按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于 
eg:find /etc -size -204800 在etc目录下找出小于100MB的文件
100MB=102400KB=204800block 
-type 按文件类型查找 
f 二进制文件 l 软连接文件 d 目录 c 字符文件 
eg: find /dev -type c

find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

eg

#find /etc -name "bbb"

#find /etc -iname "bb??"     //iname 是忽略大小写

#find /etc -iname "bb*"

#find /etc -size -204800   

#find /dev -type c

 

19.grep命令 
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出 
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services 
#grep -v  ^#  /etc/inittab 去掉文件行首的#号
# grep -n  “init” /etc/inittab 显示在inittab文件中,init匹配行及行号
# grep -c “init” /etc/inittab 显示在inittab文件中,init匹配了多少次


20.which 
命令路径:/usr/bin/which 执行权限:所有用户
作用:显示系统命令所在目录(绝对路径及别名) 
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
# which ls
alias ls='ls --color=auto'
/bin/ls

eg
# which zs
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

 

21.whereis
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径 

eg: which passwd 和 whereis passwd 
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd

 

22.压缩解压缩命令
gzip 
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz 
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)

解压使用gzip –d或者 gunzip
bzip2 
命令路径:/usr/bin/bzip2 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件] 
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
zip 
命令路径:/usr/bin/zip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录] 
-r压缩目录
eg:zip services.zip /etc/services 压缩文件; 
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip 
tar 
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩 
-j 以bzip2命令压缩/解压缩 
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项

1, 单独的打包 ,解包 tar –cf tar –xf 
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip

eg

tar –zcvf 压缩 
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除


23.系统关机命令
shutdown [选项] 时间 
选项: -c: 取消前一个关机命令 
-h:关机 
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令 
reboot 重启系统 reboot -h now 立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。

eg

#shutdown -h now

#shutdown -h 20:30

#init 0

#reboot -h now

#init 6


24. Linux学习技巧
善于查看man help等帮助文档 
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词

25.VIM工作模式

命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式

25.1插入命令

 

命令

作用

a

在光标后附加文本

A(shift + a)

在本行行末附加文本   行尾

i

在光标前插入文本

I(shift+i)

在本行开始插入文本 行首

o

在光标下插入新行

O(shift+o)

在光标上插入新行

 

25.2定位命令

命令

作用

:set nu

设置行号

:set nonu

取消行号

gg

G

到第一行

到最后一行

nG

到第n行

:n

到第n行

 

25.3保存和退出命令

命令

作用

:w

保存修改

:w new_filename

另存为指定文件

:w >> a.txt

内容追加到a.txt文件中 文件需存在

:wq

保存修改并退出

shift+zz(ZZ)  

快捷键,保存修改并退出

:q!

不保存修改退出

:wq!

保存修改并退出(文件所有者可忽略文件的只读属性)

 

不保存并退出:

1, 有修改,但是修改后的内容是不保存的

2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件

25.4删除命令

命令

作用

x    

删除光标所在处字符   nx 删除光标所在处后n个字符

dd

删除光标所在行,ndd删除n行

:n1,n2d

删除指定范围的行(eg :1,3d   删除了123这三行)

dG

删除光标所在行到末尾的内容

D

删除从光标所在处到行尾

 

25.5复制和剪切命令

 

命令

作用

yy、Y    

复制当前行

nyy、nY

复制当前行以下n行

dd   

剪切当前行

ndd 

剪切当前行以下n行

p、P

粘贴在当前光标所在行下  或行上

25.6替换和取消命令

命令

作用

r

取代光标所在处字符

R(shift + r)

从光标所在处开始替换字符,按Esc结束

u

undo,取消上一步操作

ctrl+r

redo,返回到undo之前

 

25.7搜索和替换命令

命令

作用

/string

向后搜索指定字符串   搜索时忽略大小写 :set ic

?string

向前搜索指定字符串

n

搜索字符串的下一个出现位置,与搜索顺序相同

N(Shift + n)

搜索字符串的上一个出现位置,与搜索顺序相反

:%s/old/new/g

全文替换指定字符串

:n1,n2s/old/new/g

在一定范围内替换指定字符串 

 
% 指全文,s 指开始,g 指全局替换
起始行,终止行s/要替换的字符串/替换的新的字符串/g c 询问确认
eg: :%s/ftp/yang/g 全局替换,把ftp替换为yang
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
eg: :%s/\/root/\/ROOT/g 把/root替换为/ROOT
eg: :%s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp

25.8可视化模式
v 可视字符模式
V(shift+v) 可视行模式,选择多行操作
ctrl+v 可视块模式(列模式),操作列
I或者O进入插入模式。


26.ping

 

命令路径:/bin/ping        执行权限:所有用户

 

作用:测试网络的连通性

 

语法:ping 选项 IP地址

 

 -c 指定发送次数    

 

ping 命令使用的是icmp协议,不占用端口

 

eg: # ping -c 3 127.0.0.1

 

27.ifconfig
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址

#ifconfig


28.netstat
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
# netstat –antpl
#netstat -ntlp | grep httpd 查看某一个程序的端口信息
#netstat -atnp | grep httpd
#netstat -atnp | grep 80 查看端口

 

29.df命令
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等
-k  以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息
-a  显示所有分区包括大小为0 的分区
#df –h

30.du命令
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-ahs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home  显示/home 目录下每个子文件的大小,默认单位为kb
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home  以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize

df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
#df –h /
#du –sh /

31.free
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
#free –m
清理缓存命令:
echo 1 > /proc/sys/vm/drop_caches

#free –m 

#echo 1 > /proc/sys/vm/drop_caches

 

32.useradd
添加用户
语法:useradd [选项] 用户名
#useradd spark
passwd
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
#passwd spark

自己更换密码
#su – spark
$passwd
userdel(user delete)
删除用户
-r 删除账号时同时删除宿主目录(remove)
#userdel spark
#userdel -r spark

#useradd spark

#passwd spark

进程管理命令
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程


33.ps命令
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
查看系统中所有进程
# ps aux #查看系统中所有进程,使用BSD操作系统格式,unix 注意没有-
# ps -le #查看系统中所有进程,使用Linux标准命令格式
ps应用实例
# ps -u or ps -l 查看隶属于自己进程详细信息
# ps aux | grep sam 查看用户sam执行的进程
# ps -ef | grep init 查看指定进程信息

 

34.pstree
作用:查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
#pstree -pu

35.top
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)

#top 

36.kill
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
#kill -9 4125

37.chmo

权限管理
三种基本权限
r 读权限(read)
w 写权限(write)
x 执行权限 (execute)
权限说明
Linux学习之路--常用命令讲解
所有者 所属组 其他人
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户(所有者)权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户(其他人)权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
类型: f 二进制文件 l 软连接文件 d 目录 

 

字符

权限

对文件的含义

对目录的含义

r

读权限

可以查看文件内容

可以列出目录的内容(ls)

w

写权限

可以修改文件内容

可以在目录中创建删除文件( mkdir,rm )

x

执行权限

可以执行文件

可以进入目录(cd)

 

 

 

 

 

 

文件:
r-cat,more,head,tail,less
w-echo,vi
x-命令,脚本
目录:
r-ls
w-touch,mkdir,rm,rmdir
x-cd
能删除文件的权限是对该文件所在的目录有wx权限。
权限更改-chmod
英文:change mode (change the permissions mode of a file)
作用:改变文件或目录权限
语法:
chmod [{ugoa}{+-=}{rwx}] [文件名或目录] =是重新赋予权限把以前的权限全部重新给予
#chmod u+w install.log
#chmod go=wx install.log
chmod [mode=421] [ 文件或目录]
参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
思考:一个文件的权限谁可以更改? root 所有者
root
文件所有者
例如:chmod u+x a.txt
chmod u+x,o-x a.txt
用数字来表示权限(r=4,w=2,x=1,-=0
例如:#chmod 750 b.txt 750对应权限是rwxr-x---
rwx和数字表示方式能随意切换
注意:root用户是超级用户,不管有没有权限,root都能进行更改。用普通用户测试权限。
不能用一个普通用户去修改另一个普通用户的权限。
更改所有者-chown
英文:change file ownership
作用:更改文件或者目录的所有者
语法 : chown user[:group] file...
 -R : 递归修改
参数格式 :
   user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
#chown lee file1 把file1文件的所有者改为用户lee
#chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test
#chown –R lee:test dir 修改dir及其子目录的所有者和所属组
改变所属组chgrp
英文:change file group ownership
作用:改变文件或目录的所属组
语法 : chgrp [group] file...
eg:#chgrp root test.log 把test.log的所属组修改为root
注意有时候即使修改了权限也不能的时候 往上追踪看是否权限修改到位 父籍目录

chmod [{ugoa}{+-=}{rwx}] [文件名或目录] =是重新赋予权限把以前的权限全部重新给予
#chmod u+w install.log
#chmod go=wx install.log

#chmod 750 b.txt 750对应权限是rwxr-x---

#chown lee file1 把file1文件的所有者改为用户lee
#chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test
#chown –R lee:test dir 修改dir及其子目录的所有者和所属组

 

 

38.RPM软件包管理
RPM软件包也称为二进制软件包
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的发行版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
RPM命令使用
rpm的常用参数
i:安装应用程序(install)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
e:卸载应用程序(erase)
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。
查询所有安装的rpm包: # rpm –qa
查询mysql相关的包: # rpm –qa | grep mysql
安装:#rpm -ivh jdk.rpm
卸载: #rpm –e mysql*
强行卸载:#rpm –e mysql* --nodeps
RPM安装使用的缺点就是依赖问题 安装的时候不会自动安装依赖

#rpm -ivh jdk.rpm

#rpm -ivh jdk.rpm    安装

#rpm –e mysql*  卸载
#rpm –e mysql* --nodeps 强行卸载

39.YUM管理
yellowdog updater modified 软件包管理工具
应用yum的好处:
1,自动解决软件包依赖关系
2,方便的软件包升级
查询
yum list 查询所有可用软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum info 关键字 来查找包名
安装
#yum -y install 包名 -y 自动回答yes
#yum –y install zlib-devel
升级
yum -y update 包名
注意:如果不加包名,就升级所有的,包括内核。必须加包名升级单个软件包,慎用升级所有的
检测升级 yum check-update
卸载
yum -y remove 包名
帮助
#yum --help、man yum
#yum clean all 清除缓存和旧的包
#yum repolist 查看当前可用的yum源
#yum deplist httpd 列出一个包所有依赖的包

#yum –y install zlib-devel