码迷,mamicode.com
首页 > 系统相关 > 详细

linux学系笔记

时间:2017-11-11 23:53:53      阅读:464      评论:0      收藏:0      [点我收藏+]

标签:文件名   文件的   socket   serve   看到了   字段   内容   文件类型   hmm   

 

 

1  pwd 打印当前目录位置

2  mkdir 创建目录

  -p 递归创建未存在的父目录

  -m 设置目录的属性权限

    mkdir -m 777 testa   # 创建以777为权限的testa目录

 

3  rmdir 删除空目录

  -p 递归删除上层空目录

    rmdir -p /testa/testb    #同时删除 testa testb连个空目录

 

4  $PATH 可执行文件路径的变量,每个目录用冒号隔开

   echo $PATH     #输出变量

 

5  ls  显示文件或者目录信息  

[root@study ~]# ls [-aAdfFhilnrRSt] 文件名或目录名称..
[root@study ~]# ls [--color={never,auto,always}] 文件名或目录名称..
[root@study ~]# ls [--full-time] 文件名或目录名称..
选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-A :全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-f :直接列出结果,而不进行排序 (ls 默认会以文件名排序!)
-F :根据文件、目录等信息,给予附加数据结构,例如:
*:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;
-h :将文件大小以人类较易读的方式(例如 GB, KB 等等)列出来-i :列出 inode 号码,inode 的意义下一章将会介绍;
-l :长数据串行出,包含文件的属性与权限等等数据;(常用)
-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在帐号管理提到!)
-r :将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;
-R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
-S :以文件大小大小排序,而不是用文件名排序;
-t :依时间排序,而不是用文件名--color=never :不要依据文件特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设置来判断是否给予颜色
--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间或改变权限属性时间 (ctime)
而非内容变更时间 (modification time

 

6  cp 复制文件或目录,创建链接

[root@study ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination)
[root@study ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
-a :相当于 -dr --preserve=all 的意思,至于 dr 请参考下列说明;(常用)注:复制时,尽可能保持原文件按属性
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;
-f :为强制(force)的意思,若目标文件已经存在且无法打开,则移除后再尝试一次;注:若文件存在,则删除该文件
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)注:最好 将-i 选项置成别名
-l :进行硬式链接(hard link)的链接文件创建,而非复制文件本身;
-p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
-r :递回持续复制,用于目录的复制行为;(常用)
-s :复制成为符号链接文件 (symbolic link),亦即“捷径”文件;
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制。
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了。
最后需要注意的,如果来源文件有两个以上,则最后一个目的文件一定要是“目录”才行!

 

7  rm  删除文件或目录,删除目录时加上 -r 选项

[root@study ~]# rm [-fir] 文件或目录
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告讯息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!

 

8  mv

[root@study ~]# mv [-fiu] source destination
[root@study ~]# mv [options] source1 source2 source3 .... directory
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新 (update)

 

9  文件内容查阅指令

cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 taccat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
lessmore 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od 以二进制的方式读取文件内容!

  cat (concatenate) 由第一行开始显示文件内容

[root@study ~]# cat [-AbEnTv]
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

  tac (反向列示)  

从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

  nl (添加行号打印)显示的时候,顺道输出行号!
[root@study ~]# nl [-bnw] 文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己字段的最右方显示,且不加 0-n rz :行号在自己字段的最右方显示,且加 0-w :行号字段的占用的字符数  
 
more (一页一页翻动)一页一页的显示文件内容
空白键 (space):代表向下翻一页;
Enter :代表向下翻“一行”;
/字串 :代表在这个显示的内容当中,向下搜寻“字串”这个关键字;
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

 

  less (一页一页翻动) less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻“字串”的功能;
?字串 :向上搜寻“字串”的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
g :前进到这个数据的第一行去;
G :前进到这个数据的最后一行去 (注意大小写);
q :离开 less 这个程序;

 

  head (取出前面几行)

[root@study ~]# head [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思

 

  tail (取出后面几行)

[root@study ~]# tail [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的文件名,要等到按下[ctrl]-c才会结束tail的侦测
[root@study ~]# tail /etc/man_db.conf # 默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:
[root@study ~]# tail -n 20 /etc/man_db.conf
范例一:如果不知道/etc/man_db.conf有几行,却只想列出100行以后的数据时?
[root@study ~]# tail -n +100 /etc/man_db.conf
范例二:持续侦测/var/log/messages的内容
[root@study ~]# tail -f /var/log/messages <==要等到输入[crtl]-c之后才会离开tail这个指令的侦测!

 

  od 读取非纯文本文件

[root@study ~]# od [-t TYPE] 文件
选项或参数:
-t :后面可以接各种“类型 (TYPE)”的输出,例如:
a :利用默认的字符来输出;
c :使用 ASCII 字符来输出
d[size] :利用十进制(decimal)来输出数据,每个整数占用 size Bytes ;
f[size] :利用浮点数值(floating)来输出数据,每个数占用 size Bytes ;
o[size] :利用八进位(octal)来输出数据,每个整数占用 size Bytes ;
x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size Bytes ;
范例一:请将/usr/bin/passwd的内容使用ASCII方式来展现!
[root@study ~]# od -t c /usr/bin/passwd
0000000 177 E L F 002 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 003 \0 &gt; \0 001 \0 \0 \0 364 3 \0 \0 \0 \0 \0 \0
0000040 @ \0 \0 \0 \0 \0 \0 \0 x e \0 \0 \0 \0 \0 \0
0000060 \0 \0 \0 \0 @ \0 8 \0 \t \0 @ \0 035 \0 034 \0
0000100 006 \0 \0 \0 005 \0 \0 \0 @ \0 \0 \0 \0 \0 \0 \0
.....(后面省略)....
# 最左边第一栏是以 8 进位来表示Bytes数。以上面范例来说,第二栏0000020代表开头是
# 第 16 个 byes (2x8) 的内容之意。
范例二:请将/etc/issue这个文件的内容以8进位列出储存值与ASCII的对照表
[root@study ~]# od -t oCc /etc/issue
0000000 134 123 012 113 145 162 156 145 154 040 134 162 040 157 156 040
\ S \n K e r n e l \ r o n
0000020 141 156 040 134 155 012 012
a n \ m \n \n
0000027
# 如上所示,可以发现每个字符可以对应到的数值为何!要注意的是,该数值是 8 进位喔!
# 例如 S 对应的记录数值为 123 ,转成十进制:1x8^2+2x8+3=83

 

10  touch 修改文件时间或创建新文件,touch 这个指令最常被使用的情况是: 创建一个空的文件; 将某个文件日期修订为目前 (mtime 与 atime)

[root@study ~]# touch [-acdmt] 文件
选项与参数:
-a :仅修订 access time; access time (atime): 当“该文件的内容被取用”时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的 atime 了。
-c :仅修改文件的时间,若该文件不存在则不创建新文件; status time (ctime): 当该文件的“状态 (status)”改变时,就会更新这个时间,举 例来说,像是权限与属性被更改了,都会更新这个时间啊。
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ; modification time (mtime): 当该文件的“内容数据”变更时,就会更新这个时间!内 容数据指的是文件的内容,而不是文件的属性或权限喔!
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

 

11  chattr (设置文件隐藏属性)

[root@study ~]# chattr [+-=][ASacdistu] 文件或目录名称
选项与参数:
+ :增加某一个特殊参数,其他原本存在参数则不动。
- :移除某一个特殊参数,其他原本存在参数则不动。
= :设置一定,且仅有后面接的参数
A :当设置了 A 这个属性时,若你有存取此文件(或目录)时,他的存取时间 atime 将不会被修改,
可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)
S :一般文件是非同步写入磁盘的(原理请参考[前一章sync](../Text/index.html#sync)的说明),如果加上 S 这个属性时,
当你进行任何文件的修改,该更动会“同步”写入磁盘中。
a :当设置 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设置这属性
c :这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,
但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)
d :当 dump 程序被执行的时候,设置 d 属性将可使该文件(或目录)不会被 dump 备份
i :这个 i 可就很厉害了!他可以让一个文件“不能被删除、改名、设置链接也无法写入或新增数据!”
对于系统安全性有相当大的助益!只有 root 能设置此属性
s :当文件设置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,
所以如果误删了,完全无法救回来了喔!
u :与 s 相反的,当使用 u 来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,
可以使用来救援该文件喔!
注意1:属性设置常见的是 a 与 i 的设置值,而且很多设置值必须要身为 root 才能设置
注意2:xfs 文件系统仅支持 AadiS 而已
范例:请尝试到/tmp下面创建文件,并加入 i 的参数,尝试删除看看。
[root@study ~]# cd /tmp
[root@study tmp]# touch attrtest &lt;==创建一个空文件
[root@study tmp]# chattr +i attrtest &lt;==给予 i 的属性
[root@study tmp]# rm attrtest &lt;==尝试删除看看
rm: remove regular empty file `attrtest? y
rm: cannot remove `attrtest: Operation not permitted
# 看到了吗?呼呼!连 root 也没有办法将这个文件删除呢!赶紧解除设置!
范例:请将该文件的 i 属性取消!
[root@study tmp]# chattr -i attrtest

 

12  lsattr (显示文件隐藏属性)

[root@study ~]# lsattr [-adR] 文件或目录
选项与参数:
-a :将隐藏文件的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R :连同子目录的数据也一并列出来!
[root@study tmp]# chattr +aiS attrtest
[root@study tmp]# lsattr at

 

13  Set UID

  SUID 权限仅对二进制程序(binary program)有效;

  执行者对于该程序需要具有 x 的可执行权限;

  本权限仅在执行该程序的过程中有效 (run-time);

  执行者将具有该程序拥有者 (owner) 的权限。

14  Set UID

  SGID 对二进制程序有用;

  程序执行者对于该程序来说,需具备 x 的权限; 

   执行者在执行的过程中将会获得该程序群组的支持!

当一个目录设置了 SGID 的权限后,他将具有如下的功能:

  使用者若对于此目录具有 r 与 x 的权限时,该使用者能够进入此目录;

  使用者在此目录下的有效群组(effective group)将会变成该目录的群组;

     用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文 件,该新文件的群组与此目录的群组相同。

15  Sticky Bit 这个 Sticky Bit, SBIT 目前只针对目录有效,对于文件已经没有效果了。SBIT 对于目录的作用 是:

   当使用者对于此目录具有 w, x 权限,亦即具有写入的权限时;

   当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件

16  SUID/SGID/SBIT 权限设置

  4 为 SUID

  2 为 SGID

  1 为 SBIT

用chmod xxxx filename  来设置 ,而除了数字法之外,你也可以通过符号法来处理喔!其中 SUID 为 u+s ,而 SGID 为 g+s , SBIT 则是 o+t 啰!

 

17  file  观察文件类型

 

linux学系笔记

标签:文件名   文件的   socket   serve   看到了   字段   内容   文件类型   hmm   

原文地址:http://www.cnblogs.com/zkuncn/p/7820228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!