文件系统层次结构分析、目录管理、文件管理、日期管理常用命令使用

 在LINUX系统管理中,我们常常管理目录(mkdir、rmdir 、tree、ls、cd)文件管理(touch 、rm、cp、mv、stat),时钟管理(date、clock、hwclock)让我们一起来学习Linux吧。。。

 

  1.  Linux的基本原则:  

  2.  

  3. 1、由目的单一的小程序组成;组合小程序完成复杂任务;  
  4. 2、一切皆文件;  
  5. 3、尽量避免捕获用户接口;  
  6. 4、配置文件保存为纯文本格式;  
  7.  
  8. GUI接口:  
  9. CLI接口:  
  10.     命令提示符,prompt, bash(shell)  
  11.         #: root  
  12.         $: 普通用户  
  13.     命令:  
  14.  
  15. 命令格式:  
  16.     命令  选项  参数  
  17.         选项:  
  18.             短选项: -  
  19.                 多个选项可以组合:-a -b = -ab  
  20.             长选项: --  
  21.         参数:命令的作用对象   
  22.  
  23.  
  24. su: switch user 
  25. # su [-l] 用户名  
  26.  
  27. passwd:  
  28.     功能:设置密码  
  29. 密码要求:  
  30. 1、使用4种类别字符中至少3种;  
  31. 2、足够长,大于7位;  
  32. 3、使用随机字符串;  
  33. 4、定期更换;  
  34. 5、循环周期足够大;  
  35.  
  36.  
  37.  
  38. Shell:  
  39. GUI: Graphic User Interface  (图形用户界面)  
  40.     Windows  
  41.     Linux:X-Window  (X指的是协议)  
  42.         Gnome:C  
  43.         KDE:C++  
  44.         Xface <轻量级>  
  45. CLI: Command Line Interface  (命令行界面)  
  46.     sh  
  47.     bash  
  48.     csh  
  49.     ksh  
  50.     zsh  
  51.     tcsh  
  52.  
  53. login:  
  54.     用户名:用户ID  
  55. 用户名的命名规则:  
  56.     1、长度不能超过255个字符;  
  57.     2、不能使用/当文件名  
  58.     3、严格区分大小写  
  59.       
  60. 认证机制:Authentication  
  61. 授权:Authorization 
  62. 审计:Audition (日志)  
  63.  
  64.  
  65. 获得命令的使用帮助:  
  66. 内部命令:  
  67.     help COMMAND  
  68. 外部命令:  
  69.     COMMAND --help  
  70.       
  71. 命令手册:manual  
  72. man COMMAND  
  73.  
  74. whatis COMMAND  
  75.     显示命令摘要信息。  
  76.     man date 
  77. DATE(1)  
  78.     分章节:  
  79. 1:用户命令(/bin, /usr/bin, /usr/local/bin):用户可以操作的命令或可执行文件。  
  80. 2:系统调用:system call:系统核心可调用的函数与工具等。  
  81. 3:库用户:一些常用的函数(function)与函数库(library)  
  82. 4:特殊文件(设备文件):设备文件的说明。  
  83. 5:文件格式(配置文件的语法):设置文件或某些文件格式。  
  84. 6:游戏  
  85. 7:杂项(Miscellaneous)  
  86. 8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin):系统管理员可用的管理命令。
  87.  
  88. MAN:      
  89.     man page的内容页分成好几个部分来介绍。前面man date的表格内,以NAME作为开始,以一个SEE ALSO作为结束。  
  90.       
  91.     NAME:命令名称及功能简要说明  
  92.     SYNOPSIS:用法说明,包括可用的选项  
  93.     DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义  
  94.     OPTIONS:说明每一个选项的意义  
  95.     COMMANDS:当这个程序在执行的时候,可以在此程序(软件)中发出的命令  
  96.     FILES:此命令相关的配置文件  
  97.     BUGS:是否有相关的错误  
  98.     EXAMPLES:使用示例  
  99.     SEE ALSO:另外参照(与这个命令或数据相关的其它参考说明)  
  100.  
  101. 翻屏:  
  102.     向后翻一屏:SPACE(空格键)  
  103.     向前翻一屏:b  
  104.     向后翻一行:ENTER  
  105.     向前翻一行:k  
  106.  
  107. 查找:  
  108. /KEYWORD: 向后  
  109. n: 下一个  
  110. N:前一个   
  111.  
  112. ?KEYWORD:向前  
  113. n: 下一个  
  114. N:前一个   
  115.  
  116. 当我们不再使用当前manpage文档时,可选择q键退出。  
  117.  
  118.  
  119. 在线文档:  
  120. info COMMAND  
  121.  
  122. 文档:/usr/share/doc  
  123.  
  124. prompt,命令提示符:  
  125.     # command  options...  arguments...  
  126.  
  127. 选项:修改命令执行的特性  
  128.     短选项  
  129.     长选项  
  130. 参数:指定命令作用对象  
  131.  
  132.  
  133. 文件系统(File system)  
  134.     Linux目录配置标准:  
  135.                     FHS(Filesystem Hierarchy Standard文件系统层次标准)  
  136. /boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)  
  137. /dev: 设备文件  
  138.     设备文件:字符设备、块设备  
  139.         块设备:(硬盘、光盘)随机访问,数据块  
  140.         字符设备:(键盘、鼠标)线性访问,按字符为单位  
  141.         设备号:主设备号(major device number)和此设备号(minor device number)  
  142.             系统核心就是通过这两个号码来判断设备的。  
  143. /etc:配置文件  
  144. /home:默认用户的家目录,每一个用户的家目录通常默认为/home/USERNAME  
  145.         ~:表示当前用户的家目录  
  146.         ~USERNAME:则表示USERNAME的家目录  
  147. /root:管理员的家目录;  
  148. /lib:系统使用的函数库目录  
  149.     静态库,  .a  
  150.     动态库, Windows(.dll), Linux(.so:shared object)  
  151.     /lib/modules:内核模块文件  
  152. /media:挂载点目录,移动设备  
  153. /mnt:挂载点目录,额外的临时文件系统  
  154. /opt:可选目录,第三方程序的安装目录   -> /usr/local/  
  155. /proc:伪文件系统,内核映射文件  
  156. /sys:伪文件系统,跟硬件设备相关的属性映射文件  
  157. /tmp:临时文件, /var/tmp  
  158. /var:系统执行过程中经常变化的文件  
  159. /bin: 可执行文件, 用户命令  
  160. /sbin:管理命令  
  161. /lost+found:系统发生错误时,会将一些遗失的片段放置此目录  
  162. /usr:shared, read-only (全局共享只读)  
  163.         系统主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件、共享目录与文件  
  164.     /usr/bin、/usr/sbin:一般身份和管理员可执行的文件  
  165.     /usr/lib:各应用软件的函数库文件  
  166.       
  167. /usr/local:  
  168.     /usr/local/bin  
  169.     /usr/local/sbin  
  170.     /usr/local/lib  
  171.     
  172. date:时间管理  
  173. Linux: rtc  
  174.  
  175.     硬件时钟:clock hwclock  
  176.     系统时钟: date 
  177.       
  178. hwclock  
  179.     -w: 以系统时间为准,将硬件时间改为系统时间。  
  180.     -s: 以硬件时间为准,将系统时间改为硬件时间。  
  181. For example:
  182. 如果系统时间是准确的,硬件时间是不准确的,那我们如何将系统时间和硬件时间改为一致呢
  183. # hwclock -w 即可将硬件时间改为系统时间。
  184. cal: calendar  
  185.     显示日历  
  186. 查看2013年2月份的日历  
  187.     # cal  2  2013    
  188.       
  189.       
  190. list: ls   (列出指定路径所有子目录或文件)  
  191.          列出,列表  
  192.            
  193. # ls -l  
  194. -rw------- 1 root root  1473 Feb 26 01:01 anaconda-ks.cfg  
  195.     -l:长格式(显示完整信息)  
  196.         文件类型:  
  197.             -:普通文件 (f)  
  198.             d: 目录文件  
  199.             b: 块设备文件中可供存储的接口设备(block)  
  200.             c: 字符设备文件,如:键盘、鼠标 (character)  
  201.             l: 符号链接文件(symbolic link file)  
  202.             p: 命令管道文件(pipe)  
  203.             s: 套接字文件(socket)  
  204.         文件权限:9位,每3位一组 rwx(读(read),写(write),执行(excute))  
  205.             第一组:拥有者的权限(owner)  
  206.             第二组:同组的权限(group)  
  207.             第三组:其它非本用户组的(other)  
  208.         文件硬链接的次数  
  209.         文件的属主(owner)  
  210.         文件的属组(group)  
  211.         文件大小(size),单位是字节  
  212.         时间戳(timestamp):最近一次被修改的时间  
  213.             访问:access  
  214.             修改:modify,文件内容发生了改变  
  215.             改变:change,metadata,元数据  
  216.     -h:做单位转换(KB、GB)  
  217.     -a: 显示以.开头的隐藏文件  
  218.         . 表示当前目录  
  219.         .. 表示父目录  
  220.     -A:除.和..以外的当前目录的所有文件(包括隐藏文件)。  
  221.     -d: 显示目录自身属性  
  222.     -i: index node, inode   显示文件的索引节点  
  223.     -r: 逆序显示  
  224.     -R: 递归(recursive)显示(将当前目录中的子文件及子目录显示)  
  225.     -S:按文件大小排序  
  226.     --full-time:以完整的时间模式(年、月、日、时、分)输出  
  227. cd: Change Directory  
  228.      功能:切换工作目录  
  229.      选项:  
  230.         ~USERNAME: 进入指定用户的家目录  
  231.         -: 表示前一个工作目录  
  232.         .:表示当前目录  
  233.         ..:表示上一层目录  
  234.         ~:表示“当前用户身份”所在的家目录
  235. For example
  236. 如果我们当前处在的目录是/root,我现在想进入/home目录,该如何操作?
  237. # cd /home
  238. # cd ../home 两者都可以进入/home目录
  239.  
  240. pwd: Printing Working directory  
  241.      功能:显示当前工作目录  
  242.      选项:  
  243.         -P:显示出实际路径,而非使用连接(link)路径
  244.  
  245. 命令类型:  
  246.     内置命令(shell内置),内部,内建  
  247.     外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件  
  248.  
  249. type: Bash Shell的内置命令   
  250.     -t:type会显示name是外部命令还是bash内部命令  
  251.     file:表示为外部命令  
  252.     alias:表示命令为命令别名所设置的名称  
  253.     builtin:表示该命令为bash内置的命令名称  
  254.     -a:在PATH变量定义的路径中,列出所有含有name的命令,包含alias  
  255. type也可以用来查找命令,类此which命令的作用  
  256. For example:  
  257. [root@station16 ~]# type -p touch  
  258. /bin/touch  
  259.       
  260. file命令及其用法。  
  261.     辨别文件内容类型  
  262.     -b:列出辨别结果时,不显示文件名称。  
  263.     -c:详细显示指令执行过程,便于排错或分析程序执行的情形。  
  264.     -v:显示版本信息。  
  265. For example
  266. 我想查看/etc/passwd文件的类型
  267. # file -b /etc/passwd
  268. /etc/passwd: ASCII text 表示/etc/passwd是纯文本文件
  269.           
  270. 目录创建和删除  
  271.  
  272. mkdir:(make directory)  
  273.     功能:创建空目录  
  274.     选项:  
  275.         -p(parents):若所要建立目录的上层目录尚未建立,则会一并建立上层目录。  
  276.         -v(verbose):执行时显示详细的信息  
  277.         -m(mode):设置目录权限  
  278.           
  279. For example:
  280. 一、在/mnt/test/aa/bb,cc目录并显示详细信息
  281. # mkdir -pv /mnt/text/{aa/bb,cc}
  282. 二、创建a_b,a_c,d_b,d_c
  283. # mkdir -pv {a,d}_{b,c}
  284. # tree:查看目录树  
  285.  
  286. rmdir:(remove directory)  
  287.     功能:删除空目录  
  288.     选项:  
  289.         -p(parents):删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。  
  290.  
  291.       
  292. 文件创建和删除  
  293.  
  294. touch:  
  295.     功能:修改文件的时间戳  
  296.     选项:  
  297.         -a: 只更改访问时间  
  298.         -m:只更改修改时间  
  299.         -t:修改指定时间,而非现在时间  
  300.         -c:不建立任何文件  
  301. stat  
  302.     功能:显示文件或文件系统状态  
  303.       
  304. 删除文件:rm  
  305.     -i:交互式模式,删除前询问是否操作  
  306.     -f:强制删除文件或目录  
  307.     -r:递归删除  
  308.       
  309. 复制(copy)和移动文件(move)  
  310.     功能:复制文件或目录,还可以建立连接文件(快捷方式)  
  311.         cp  SOURCE  DEST  
  312.         cp  file1  file2   file3  
  313.             文件   文件     目录  
  314.     选项:  
  315.         -r:递归处理(将指定目录下的文件与子目录)  
  316.         -i(interactive):交互:覆盖前询问  
  317.         -f:  
  318.         -u:目标文件与源文件有差异时,才复制  
  319.         -l:建立硬链接(hard link)的连接文件,而非复制文件本身  
  320.         -s:复制成符号连接文件(symbolic link),即快捷方式  
  321.         -p:与文件的属性一起复制,而非默认属性  
  322.         -a:归档复制,常用于备份  
  323. For example:
  324. 复制文件/etc/passwd文件到/tmp目录下,并将它做成软连接lpasswd
  325. # cp -s /etc/passwd /tmp/lpasswd
  326. [root@localhost tmp]# cp -s /etc/passwd /tmp/lpasswd
    [root@localhost tmp]# ll
    total 4
    lrwxrwxrwx 1 root root 11 Feb 27 19:06 lpasswd -> /etc/passwd
    [root@localhost tmp]#
  327.       
  328.  
  329. mv: move 
  330.     功能:移动文件与目录、重命名  
  331.     选项:  
  332.         -f:强制直接移动而不询问  
  333.         -i:若目标文件(destination)已经存在,就会询问  
  334.         -u:若目标文件存在,且源文件比较新,才会更新(update)  
  335.         -t DEST SRC  
  336. For example:
  337. 将/tmp/passwd命名为password
  338. # mv passwd password
  339.  
  340.  
  341. du:(estimate file space usage)  
  342.     功能:判断文件空间使用功能  
  343.     选项:  
  344.         -s(summarize):仅显示总计  
  345.         -h(human-readable):以K、M、G为单位显示  
  346.         -m(megabytes):以MB为单位显示  
  347.         -a(all):显示目录中文件的大小 
  348. For example:
  349. 查看/etc下所有目录文件总大小
  350. # du -sh /etc
  351. 112MB /etc
  352.  

 

你可能感兴趣的:(基本命令,Linux系统目录)