Linux

谁都会走 提交于 2019-12-03 10:05:42

一、Linux目录结构

 

 

 

 1 /bin: (binaries) 存放系统命令的目录,所有用户都可以执行。
 2 /sbin : (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。
 3 /usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行
 4 /usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行
 5 /root: 存放root用户的相关文件,root用户的家目录。宿主目录  超级用户
 6 /home:用户缺省宿主目录  7 /tmp:(temporary)存放临时文件
 8 /etc:(etcetera)系统配置文件
 9 /usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
10 /proc:虚拟文件系统,数据保存在内存中,存放当前进程信息
11 /boot:系统启动目录
12 
13 /dev:(devices)存放设备文件
14 /sys :虚拟文件系统,数据保存在内存中,主要保存于内存相关信息
15 /lib:存放系统程序运行所需的共享库
16 /lost+found:存放一些系统出错的检查结果。
17 /var:(variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
18 /mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
19 /media:挂载目录。 挂载媒体设备,如软盘和光盘
20 /misc:挂载目录。 挂载NFS服务
21 /opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下
22 /srv : 服务数据目录

二、Linux常用命令

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

如:ls  -l  /etc

1 #su命令
2 #作用:切换用户身份
3 #语法:su [选项] 用户名
4 #-表示用户的环境变量一起切换
5 #-c    仅执行一次命令,而不切换用户身份 
6 $ su – root 
7 env
8 $ su – root –c “useradd liming”
ls   

英文:list    命令路径:/bin/ls    执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..    
-l(long)           显示详细信息    
-R(recursive)   递归显示当前目录下所有目录  
-r (reverse)        逆序排序
-t(time)             按修改时间排序(降序)
     ll                   相当于 ls –l


pwd 

英文:print working directory    命令路径:/bin/pwd        执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
    -L 显示链接路径,当前路径,默认
    -P 物理路径
eg:# cd /etc/init.d
#pwd [-P]
mkdir 
英文:make directories    命令路径:/bin/mkdir    执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test  如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
touch
命令路径:/bin/touch        执行权限:所有用户
作用:创建空文件或更新已存在文件的时间      
语法:touch 文件名    
eg:touch  a.txt  b.txt   touch {a.txt,b.txt}    同时创建多个文件
创建带空格的文件   eg:touch "program files"   在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
cp
英文:copy        命令路径:/bin/cp        执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp]  源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径  cp –R /etc/* .     cp –R ../aaa  ../../test/
2,,绝对路径  cp –R /ect/service  /root/test/aa/bb
mv 
英文:move     命令路径:/bin/mv        执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
rm
英文:remove     命令路径:/bin/rm        执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r  (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

注意:工作中,谨慎使用rm –rf 命令。
扩展点:删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号  -exec rm {} -rf \;
就能顺利删除了
cat  
英文:concatenate     命令路径:/bin/cat        执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
      -A  显示所有内容,包括隐藏的字符   
    -n    显示行号     
eg:cat /etc/services
more
命令路径:/bin/more        执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f   显示下一页
Enter键   显示下一行
q或Q  退出
head  
命令路径:/usr/bin/head        执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
       -n 指定行数 
eg:head -20 /etc/services   head –n 3 /etc/services
tail 
命令路径:/usr/bin/tail    执行权限:所有用户
作用:查看文件的后几行       
语法:tail [文件名] 
-n 指定行数 
-f  (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services >config.log
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 

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代表配置文件级别)

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

命令名 --help
命令名 --help 列举该命令的常用选项
 eg: cp --help
文件搜索命令
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:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/ 


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

which    

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

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

作用:搜索命令所在目录 配置文件所在目录  及帮助文档路径     

eg: which passwd    和   whereis  passwd   

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

 压缩解压缩命令

 

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

 

tar –zcvf 压缩    

 

tar –zxvf  解压

 

补充:

 

1,文件路径, 压缩包带文件路径

 

2,源文件是保留的,不会被删除

 

系统关机命令

 

shutdown  [选项] 时间    

 

选项:  -c: 取消前一个关机命令  

 

-h:关机  

 

-r:重启

 

eg:

 

shutdown -h  now  立即关机     shutdown  -h  20:30   定时关机

 

其他关机命令   halt     poweroff     init 0

 

其他重启命令  

 

reboot  重启系统    reboot -h now    立即重启

 

init 6

 


 


 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!