linux-bash特性
(1) ls
  -l:长格式
文件类型:
	-:普通文件 (f)
	d: 目录文件
	b: 块设备文件 (block)
	c: 字符设备文件 (character)
	l: 符号链接文件(symbolic link file)
	p: 命令管道文件(pipe)
	s: 套接字文件(socket)
例:ls -ld /root  显示/root自身的信息。
(2) 文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
	文件硬链接的次数
	文件的属主(owner)
	文件的属组(group)
	文件大小(size),单位是字节
	时间戳(timestamp):最近一次被修改的时间
	访问:access
	修改:modify,文件内容发生了改变
	改变:change,metadata,元数据
-h:做单位转换(文件的大小以人们可读的形式显示)
-a: 显示以.开头的隐藏文件
	. 表示当前目录
	.. 表示父目录
   -A:和-a的区别,只有 . 和 .. 不同。
  -d: 显示目录自身属性
  -i: index node, inode(显示文件的索引号)
  -r: 逆序显示
  -R: 递归(recursive)显示
	
(3) cd: change directory
	家目录,主目录, home directory(单独输入cd,进入家目录)
	cd ~USERNAME: 进入指定用户的家目录
	cd -:在当前目录和前一次所在的目录之间来回切换
(4) 显示当前缓存中的命令(即输入过的命令)
   hash
(5) type: 显示命令属于哪种类型(内部命令 or 外部命令)
(6) 获得命令的使用帮助:
内部命令:
	help COMMAND
外部命令:
	COMMAND --help
	
(7) 命令手册:manual
man COMMAND
例:man ls
    man mount
     man 2 read //显示read命令的第二章节。
    export LANG=en  //导入后,显示英文命令手册。
     
查找命令出现在手册的什么地方:whatis COMMAND
分章节:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
(8) 命令格式说明
<>:必选
[]:可选
...:可以出现多次
|:多选一
{}:分组
 
(9) MAN:
	NAME:命令名称及功能简要说明
	SYNOPSIS:用法说明,包括可用的选项
	DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
	OPTIONS:说明每一个选项的意义
	FILES:此命令相关的配置文件
	BUGS:
	EXAMPLES:使用示例
	SEE ALSO:另外参照
翻屏:
	向后翻一屏:SPACE
	向前翻一屏:b
	向后翻一行:ENTER
	向前翻一行:k
查找:
/KEYWORD: 向后
n: 下一个
N:前一个 
?KEYWORD:向前
n: 下一个
N:前一个 
q: 退出
	
(10) hwclock
    -w: 从系统时间设置硬件时钟。
    -s: 从硬件时钟设置系统时钟。
(11)显示系统环境变量
    printenv
(12) 
/root/ — 根用户(超级用户)的主目录。
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/initrd/ — 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。
/dev: 设备文件
        设备文件:
	块设备:随机访问,数据块
	字符设备:线性访问,按字符为单位
	设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录;
/lib:库文件,是内核级的。仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。
	静态库,  .a  :每个程序都要加载。
	动态库, .dll, .so (shared object) :仅加载一次到内存,其它程序无需重复加载,可以直接使用。
	/lib/modules:内核模块文件
附加说明:
/lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/lib目录下放置的是/bin和/sbin目录下程序所需的库文件。/lib目录下的文件的名称遵循下面的格式: 
libc.so.* 
ld* 
/media:挂载点目录,通常挂载移动设备,光盘等。
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录。不过目前这个改了,第三方程序都放在usr/local下。
/proc:伪文件系统,内核映射文件(是系统运行后,产生的临时映射文件)。
/sys:伪文件系统,跟硬件设备相关的属性映射文件。
/tmp:临时文件( /tmp 给予所有系统用户读写权。), /var/tmp
/var:可变化的文件
/bin: 可执行文件, 用户命令在此文件夹。
/sbin:管理命令在此文件夹。许多系统命令(例如 shutdown)的贮存位置。
/usr:(全称:universal shared, read-only)全局的共享的只读文件。
	/usr/bin
	/usr/sbin 目录 /usr/sbin 中也包括了许多系统命令。
	/usr/lib 系统级的。
	
/usr/local:第三方软件安装目录。
	/usr/local/bin
	/usr/local/sbin
	/usr/local/lib 用户级的。
(13), 命名规则:
1、长度不能超过255个字符;
2、不能使用/当文件名
3、严格区分大小写
(14)
mkdir:创建空目录
	-p: 同时创建多级目录
	-v: verbose 详细信息
例如:mkdir -p /root/x/y/z
         mkdir -pv /root/x/y/z
要创建:/mnt/test/x/m 和 /mnt/test/y两个目录,命令如下:
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}
(15)命令行展开
要在/mnt/test2/下,创建以下4个目录:
a_b, a_c, d_b, d_c
例如:
遵守如下规则:
(a+d)(b+c)=ab+ac+db+dc
{a,d}_{b,c}=a_b,a_c, d_b, d_c
方法如下:
mkdir -pv /mnt/test2/ {a,d}_{b,c}
# tree:查看目录树
删除目录:rmdir (remove directory)
	删除空目录
	-p:删除到上一级非空目录。
(16) 文件创建和删除
# touch  主要功能不是为了创建文件,主要是用于修改文件的时间戳。
	-a   :只改变访问时间。例:touch -a a文件
	-m :只改变修改时间。
	-t  :制定访问/修改时间。例:touch -m -t 201807011211 a文件
	-c
Access: 访问时间
Modify:修改时间
change:改变时间,此时间不可修改。
(17),删除文件
rm 是 rm -i的别名。想利用原生rm,可以用\rm。
	-i :交互命令
	-f:强制删除。
	-r:递归删除
	
例如:rm -rf / :删除根目录,以及根目录下所有文件。
(18),复制
cp: copy  
cp SRC DEST :默认只复制文件,不复制目录。
	-r: 可以复制目录,并递归复制目录下的文件。
	-i: 交互式
	-f: 强制复制
	-p: 复制文件时,保留文件原有的属主,属组,时间戳。不加此参数,则文件是谁复制,则属组,属主是谁。
	-a:归档复制,常用于备份
               -d: 复制链接本身,不是链接指向的文件。
	
复制文件的规则:
可以复制一个文件到一个文件;
可以复制多个文件到一个目录;
例:
cp  /etc/{passwd,inittab,rc.d/rc.sysinit}   /tmp/  同时复制多个文件到 tmp目录下。
cp /etc/a.txt  /tmp/   把a文件复制到文件夹tmp下,文件名称还是a.txt
cp /etc/a.txt  /tmp/b.txt  把a文件复制到文件夹tmp下,文件名称是b.txt
cp  /etc/a.txt  /etc/b.txt   /tmp/   把文件a.txt,b.txt复制到tmp文件夹下。
(19),移动文件
mv: move
mv SRC DEST
mv -t DEST SRC   颠倒源和目的,使用-t参数。
例:
mv  /tmp/hello/  /var/tmp/abc   abc不存在时,复制目录hello,并重名为abc.
mv  abc  mn   在同一目录下,不管abc为文件or目录  都重命名为mn。
(20),拷贝文件,设置属性。
install   默认情况下,用Install复制文件后,会为文件添加执行权限。
    -d DIRECOTRY ... :创建目录
    SRC DEST
install -t DIRECTORY SRC...    颠倒源和目的,使用-t参数。
例:
install /etc/updatedb.conf  /tmp/ -m -rwxrwxrwx
install /etc/updatedb.conf  /tmp/ -m 777   (-m修改权限。)

                
            
        
浙公网安备 33010602011771号