一、命令回顾
1、ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件。信息包括:
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
-rw-------. 1 root root 1922 Mar 6 20:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Desktop
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Documents
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Downloads
-rw-r--r--. 1 root root 1953 Mar 6 21:24 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Music
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Pictures
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Public
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Templates
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Videos
-rw-r--r--. 1 root root 250 Mar 9 10:46 who.out
意义:
- 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。
-:普通文件
d: 目录文件
b: 块设备 //物理上实在存在的一块设备
c: 字符设备
l: 符号链接文件
p: 管道文件pipe
s: 套接字文件socket,用于通信,方式:TCP/IP
其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。 - 第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
- 第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
- 第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
- 第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
- 第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
- 第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
2、ls 命令可以说是linux下最常用的命令之一。
选项有:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-i 输出文件的 i 节点的索引信息。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。说明以最近修改的日期进行排序!
-u 以文件上次被访问的时间排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。
只列出子目录
ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)
下面命令可以分别计算当前目录下的文件和目录个数:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir
显示彩色目录列表,打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
1. 蓝色-->目录
2. 绿色-->可执行文件
3. 红色-->压缩文件
4. 浅蓝色-->链接文件
5. 灰色-->其他文件
ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso
3、help命令用法:
内部命令:help cd
外部命令:ls --help
4、ls-a -l ——> ls -al
效果是一样的
5、man命令:
提供命令帮助的文件,手册页存放在/usr/share/man
。几乎每个命令都有man的“页面”,man页面分组为不同的“章节”,统称为Linux手册。
man命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE
: 指明man文件搜索位置
man - M /PATH/TO/SOMEWHERE COMMAND
: 到指定位置下搜索 COMMAND 命令的手册页并显示
中文man需安装包man-pages-zh-CN
MAN章节:
1: 用户命令
2: 系统调用
3: C库调用
4: 设备文件及特殊文件
5: 配置文件格式
6: 游戏
7: 杂项
8: 管理类的命令
9:Linux 内核API
注:因为MAN命令分章节,而有的命令地址有好几个,所以默认打开的MAN章节可能不是自己想查询的那个,可以先查询一下
[root@centos7 ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
[root@centos7 ~]# whatis passwd
sslpasswd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@centos7 ~]# man 5 passwd
[root@centos7 ~]#
二、文件名规则
- 文件名最长255个字节,包括路径在内文件名称最长4095个字节
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件 - 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们。
- 标准Linux文件系统(如ext4),文件名称大小写敏感。例如:MAIL, Mail, mail, mAiL
三、文件系统结构
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/ USERNAME :普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
-
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序 sbin: lib:32位使用 lib64:只存在64位系统 include: C程序的头文件(header files) share:结构化独立的数据,例如doc, man等 local:第三方应用程序的安装位置
-
/var: variable data files
cache: 应用程序缓存数据目录 lib: 应用程序状态信息数据 local:专用于为/usr/local下的应用程序存储可变数据; lock: 锁文件 log: 日志目录及文件 opt: 专用于为/opt下的应用程序存储可变数据; run: 运行中的进程相关数据,通常用于存储进程pid文件 spool: 应用程序数据池 tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位
置
四、Linux上的应用程序的组成部分
- 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
- 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
- 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
- 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man,/usr/local/share/doc
五、查看定义文件夹和文件颜色的文具文档
[root@centos7 ~]# cat /etc/DIR_COLORS
# Configuration file for the color ls utility //颜色工具配置文件
# Synchronized with coreutils 8.5 dircolors
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not
# pipes. 'all' adds color characters to all output. 'none' shuts colorization
# off.
COLOR tty
# Extra command line options for ls go here.
# Basically these ones are:
# -F = show '/' for dirs, '*' for executables, etc.
# -T 0 = don't trust tab spacing when formatting ls output.
OPTIONS -F -T 0
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
·
·
·
# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)
EIGHTBIT 1
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
#FILE 00 # normal file, use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe //数字代表颜色
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
MISSING 01;05;37;41 # ... and the files they point to
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# executables (bright green)
#.cmd 01;32 //以下数字皆表示文件
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
#.sh 01;32
#.csh 01;32