Please indicate the source: http://blog.csdn.net/gaoxiangnumber1
Welcome to my github: https://github.com/gaoxiangnumber1
.
代表当前目录 ..
代表上一层目录 -
代表前一个工作目录 ~
代表目前用户的家目录;~account
代表account用户的家目录.
与..
两个目录。根目录的上一层..
与根目录自己.
是同一个目录。cd(change directory变换目录)
cd [相对路径或绝对路径]
cd .. #表示去上层目录
cd - #表示回到刚刚的目录
cd ~ #表示回自己家目录
cd ~xiang #代表去xiang用户的家目录
cd #没有加任何路径,代表回自己家目录
pwd(Print Working Directory显示目前所在目录)
pwd [-P] #-P显示真实路径,非链接路径
mkdir(建立新目录)
mkdir [-mp] 目录名称
rmdir(删除空目录)
rmdir [-p] 目录名称 #-p:连同上层的空目录一起删除
XX
时,系统会去每个PATH定义的目录下搜索文件名为XX
的可执行文件;若在PATH定义的目录中含有多个名为XX
的可执行文件,那么先搜到的指令先被执行。echo $PATH
显示目前的PATH。$
后面接变量。 :
隔开,每个目录有顺序之分。xiang :~ $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
xiang :~ $ sudo -i
[sudo] password for xiang:
root :~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PATH="${PATH}:absolute_path_name"
将absolute_path_name加入到PATH中。不能将本目录.
加入PATH中,原因: .
加入PATH中。ls [-aAdfFhilnrRSt] 文件名或目录名
ls [--color={never,auto,always}] 文件名或目录名
ls [--full-time] 文件名或目录名
.
与..
这两个目录 *
可执行文件;/
目录;=
socket文件;|
FIFO文件 cp(复制文件或目录)
cp [-adfilprsu] 源文件 目标文件
cp [options] source1 source2 source3 ... directory
-dr --preserve=all
-p
的相关参数外,还复制SELinux的属性(links,xattr)cp -au src dest
xiang :~ $ ls -l data
-rw-rw-r-- 1 xiang xiang 16 10月 9 23:33 data
xiang :~ $ cp -l data data_hard_link
xiang :~ $ cp -s data data_symbolic_link
xiang :~ $ ls -l data*
-rw-rw-r-- 2 xiang xiang 16 10月 9 23:33 data
-rw-rw-r-- 2 xiang xiang 16 10月 9 23:33 data_hard_link
lrwxrwxrwx 1 xiang xiang 4 10月 9 23:34 data_symbolic_link -> data
-l
建立hard link,-s
建立symbolic link。symbolic link是快捷方式,会链接到源文件,文件名右侧会有->符号。hard link文件与源文件的属性、权限完全一样,与未链接前的差异是第二栏的link数由1变成2。xiang :~ $ cp data_symbolic_link data_symbolic_link1
xiang :~ $ cp -d data_symbolic_link data_symbolic_link2
xiang :~ $ ls -l data data_symbolic_link*
-rw-rw-r-- 2 xiang xiang 16 10月 9 23:33 data
lrwxrwxrwx 1 xiang xiang 4 10月 9 23:34 data_symbolic_link -> data
-rw-rw-r-- 1 xiang xiang 16 10月 9 23:38 data_symbolic_link1#与源文件相同
lrwxrwxrwx 1 xiang xiang 4 10月 9 23:38 data_symbolic_link2->data #链接档
-d
复制链接文件。#使用xiang的身份,完整复制`/var/log/wtmp`文件到/tmp并重命名为xiang_wtmp
xiang :~ $ cp -a /var/log/wtmp /tmp/xiang_wtmp
xiang :~ $ ls -l /var/log/wtmp /tmp/xiang_wtmp
-rw-rw-r-- 1 xiang xiang 238K 10月 10 12:14 /tmp/xiang_wtmp
-rw-rw-r-- 1 root utmp 238K 10月 10 12:14 /var/log/wtmp
-a
也无法完整复制权限。rm(移除文件或目录)
rm [-fir] 文件或目录
rm -i bashrc* #将开头为bashrc的文件名全部删除。*代表0到无穷多个任意字符
\rm -r /tmp/etc #在指令前加上反斜杠可以忽略alias的指定选项
rm ./-file_name #删除开头带有`-的文件:加上本目录`./`避过字符`-`
mv(移动文件与目录,或重命名)
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
mv file file2
重命名file为file2;rename指令进行多个文件名的同时重命名。xiang :~ $ basename /home/xiang/Gao/Notes/blog.c #取得文件名
blog.c
xiang :~ $ dirname /home/xiang/Gao/Notes/blog.c #取得目录名
/home/xiang/Gao/Notes
cat(concatenate)
cat [-AbEnTv]
-vET
,可列出特殊字符而不是空白 $
;Windows的断行符是^M$
tab
以^I
显示 tac(反向显示)
nl(添加行号打印)
nl [-bnw] 文件
-b a
表示对所有行显示行号 -b t
仅对非空白行显示行号 -n ln
行号在屏幕最左方显示 -n rn
行号在字段的最右方显示,且不加0 -n rz
行号在字段的最右方显示,加0 more(一页页翻动)
less(一页一页翻动)
head(取出前几行)
head [-n X] 文件
-n
接正数X,代表显示前X行;接负数X,代表不显示后|X|行。tail(取出后几行)
tail [-n X] 文件
tail -n +100 file
#只列出100行后的数据head -n 20 file | tail -n 10
显示file的11-20行 head -n 20 file
将文件的20行取出,但不输出到屏幕上,而是交给tail
指令,因此tail不需要接文件名。od [-t TYPE] 文件
-t
后接各种类型的输出: xiang :~ $ od -t oCc /etc/issue #列出/etc/issue内容的8进制值与ASCII对照表
0000000 125 142 165 156 164 165 040 061 064 056 060 064 056 063 040 114
U b u n t u 1 4 . 0 4 . 3 L
0000020 124 123 040 134 156 040 134 154 012 012
T S \ n \ l \n \n
0000032
xiang :~ $ echo gaoxiangnumber1 | od -t dCc #找到gaoxiangnumber1的ASCII对照
0000000 103 97 111 120 105 97 110 103 110 117 109 98 101 114 49 10
g a o x i a n g n u m b e r 1 \n
0000020
xiang :~ $ date; ls -l power.c ; ls -l --time=atime power.c ; ls -l --time=ctime power.c
2016年 10月 11日 星期二 08:18:40 CST #目前时间
-rw-rw-r-- 1 xiang xiang 393 10月 4 12:17 power.c #ls默认显示mtime -rw-rw-r-- 1 xiang xiang 393 10月 10 23:23 power.c #atime -rw-rw-r-- 1 xiang xiang 393 10月 4 12:17 power.c #ctime
touch [-acdmt] 文件
--date="日期或时间"
YYYYMMDDhhmm
touch -d "2 days ago" file #将日期调整为两天前
touch -t 201406150202 bashrc #将日期改为2014/06/15 2:02
umask
得到数字形式的权限。umask -S
得到符号形式的权限。xiang :~ $ umask
0002#与一般权限有关的是后三个数字
xiang :~ $ umask -S
u=rwx,g=rwx,o=rx
-rw-rw-rw-
drwxrwxrwx
chattr(设置文件隐藏属性)
chattr [+-=][ASacdistu] 文件或目录 #该指令只在Ext2/Ext3/Ext4文件系统上有效
lsattr(显示文件隐藏属性)
lsattr [-adR] 文件或目录
xiang :~ $ ls -ld /tmp; ls -l /usr/bin/passwd
drwxrwxrwt 8 root root 44K 10月 11 10:13 /tmp
-rwsr-xr-x 1 root root 46K 7月 16 2015 /usr/bin/passwd
Set UID
x
位置上的s
。SUID的限制与功能: x
。/etc/shadow
中,该文件的权限为 -rw-r----- 1 root shadow
。虽然只有root有w
权限,但一般用户xiang也能修改自己的密码,原因: x
权限。/etc/shadow
可以被xiang执行的passwd修改。 Set GID
x
位置的s
。SGID可对文件或目录设定。x
权限。Sticky Bit
SUID/SGID/SBIT权限设定
-rwsr-xr-x
:由于s在用户权力中,所以是SUID,在原先755前加上4:chmod 4755 file
。xiang :~ $ touch test
xiang :~ $ chmod 4755 test ; ls -l test
-rwsr-xr-x 1 xiang xiang 0 10月 11 11:40 test
xiang :~ $ chmod 6755 test ; ls -l test
-rwsr-sr-x 1 xiang xiang 0 10月 11 11:40 test
xiang :~ $ chmod 1755 test ; ls -l test
-rwxr-xr-t 1 xiang xiang 0 10月 11 11:40 test
xiang :~ $ chmod 7666 test ; ls -l test
-rwSrwSrwT 1 xiang xiang 0 10月 11 11:40 test
7666
说明user/group/others都没有x权限,所以S、T代表空。也可以通过符号处理:SUID为u+s,SGID为g+s,SBIT为o+t。一、让用户能进入某目录成为工作目录的基本权限
二、用户在某目录内读取文件的基本权限
三、让用户可以修改文件的基本权限
四、让用户可以建立文件的基本权限
五、让用户进入某目录并执行该目录下的某个指令的基本权限
例题
cp /dir1/file1 /dir2
,说明dir1、file1、dir2最小所需权限。 Please indicate the source: http://blog.csdn.net/gaoxiangnumber1
Welcome to my github: https://github.com/gaoxiangnumber1