《鸟哥的Linux学习:基础篇》第六章:Linux文件和=目录管理
来源:互联网 发布:淮南腾讯大数据 编辑:程序博客网 时间:2024/06/05 19:56
1、目录的相关操作
. 代表此層目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表『目前使用者身份』所在的家目錄
~account 代表 account 這個使用者的家目錄(account是個帳號名稱)
2、处理目录的指令:
- Cd(Change Directory):變換目錄(文件夹)
- Pwd(Print Working Directory):顯示目前的目錄
- Mkdir(make directory):建立一個新的目錄
- rmdir:刪除一個空的目錄
3、环境变量:$PATH
echo有『显示、打印』
PATH 前面加的 $表示後面接的是变量
4、文件与目录的查看:ls
选项与参数:
-a:全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄內的檔案資料(常用)
-l :長資料串列出,包含檔案的屬性與權限等等資料;(常用)
5、复制、删除与移动
复制:cp(copy)
cp [-adfilprsu] 來源檔(source) 目標檔(destination)
选项与参数
-a :相當於 -dr --preserve=all 的意思,至於 dr 請參考下列說明;(常用)
-i :若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-p :連同檔案的屬性(權限、用戶、時間)一起複製過去,而非使用預設屬性(備份常用);
-r :遞迴持續複製,用於目錄的複製行為;(常用)
删除:rm(remove)
移动或重命名:mv(move)
mv [-fiu] source destination
6、文件内容查看:
直接查看:
- cat 由第一行開始顯示檔案內容
- tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
- nl 顯示的時候,順道輸出行號!
可翻页查看
- more 一頁一頁的顯示檔案內容
- less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
文件摘取
- head 只看頭幾行
- tail 只看尾巴幾行
非纯文字文件
- od 以二進位的方式讀取檔案內容!
7、修改文件时间或新建文件
[root@study ~]# touch[-acdmt] 檔案
選項與參數:
-a :僅修訂 access time;
-c :僅修改檔案的時間,若該檔案不存在則不建立新檔案;
-d :後面可以接欲修訂的日期而不用目前的日期,也可以使用 --date="日期或時間"
-m :僅修改 mtime ;
-t :後面可以接欲修訂的時間而不用目前的時間,格式為[YYYYMMDDhhmm]
8、文件预设权限:umask
root@robust-virtual-machine:/srv/ahome# umask
0022
root@robust-virtual-machine:/srv/ahome# umask -S
u=rwx,g=rx,o=rx
直接输入为数字形态的权限设定分数,加入-S一符号类型方式显示。
8、文件隐藏属性
设定文件隐藏属性
chattr [+-=][ASacdistu] 檔案或目錄名稱
显示文件隐藏属性
# lsattr [-adR] 檔案或目錄
9、set UID
文件的权限状态有【s】时,就称为set uid,简称suid的特殊权限
SUID 僅可用在binaryprogram 上,不能夠用在 shell script 上面
Set GID
Sticky Bit ,SBIT
修改以上权限的方法要用到第五章的数字更改权限,在三个数字前加上一个数字,这个数字代表这几个权限
- 4 為 SUID
- 2 為 SGID
- 1 為 SBIT
10、观察文件类型:file
11、指令和文件查找
Which(寻找执行文件)
Whereis(寻找特定文件)
Locate:
[root@study ~]# locate[-ir] keyword
選項與參數:
-i :忽略大小寫的差異;
-c :不輸出檔名,僅計算找到的檔案數量
-l :僅輸出幾行的意思,例如輸出五行則是 -l 5
-S :輸出 locate 所使用的資料庫檔案的相關資訊,包括該資料庫紀錄的檔案/目錄數量等
-r :後面可接正規表示法的顯示方式
Find:全磁盘搜素,较慢
特殊功能在于:能进行额外的动作(action),还能使用通配符来查找。
12、
讓使用者能進入某目錄成為『可工作目錄』的基本權限是什么:
- 可使用的指令:例如 cd 等變換工作目錄的指令;
- 目錄所需權限:使用者對這個目錄至少需要具有 x的權限
- 額外需求:如果使用者想要在這個目錄內利用 ls 查閱檔名,則使用者對此目錄還需要 r 的權限。
二、使用者在某個目錄內讀取一個檔案的基本權限為何?
- 可使用的指令:例如本章談到的 cat, more, less等等
- 目錄所需權限:使用者對這個目錄至少需要具有 x 權限;
- 檔案所需權限:使用者對檔案至少需要具有 r的權限才行!
三、讓使用者可以修改一個檔案的基本權限為何?
- 可使用的指令:例如 nano 或未來要介紹的 vi 編輯器等;
- 目錄所需權限:使用者在該檔案所在的目錄至少要有 x 權限;
- 檔案所需權限:使用者對該檔案至少要有 r, w權限
四、讓一個使用者可以建立一個檔案的基本權限為何?
- 目錄所需權限:使用者在該目錄要具有 w,x的權限,重點在 w 啦!
五、讓使用者進入某目錄並執行該目錄下的某個指令之基本權限為何?
- 目錄所需權限:使用者在該目錄至少要有 x 的權限;
- 檔案所需權限:使用者在該檔案至少需要有 x 的權限
重点回顾
- 絕對路徑:『一定由根目錄 / 寫起』;相對路徑:『不由 / 寫起,而是由相對當前目錄寫起』
- 特殊目錄有:., .., -, ~, ~account需要注意;
- 與目錄相關的指令有:cd, mkdir, rmdir, pwd 等重要指令;
- rmdir 僅能刪除空目錄,要刪除非空目錄需使用『 rm -r 』指令;
- 使用者能使用的指令是依據 PATH 變數所規定的目錄去搜尋的;
- ls 可以檢視檔案的屬性,尤其 -d, -a, -l 等選項特別重要!
- 檔案的複製、刪除、移動可以分別使用:cp, rm , mv等指令來操作;
- 檢查檔案的內容(讀檔)可使用的指令包括有:cat, tac, nl, more, less, head, tail, od 等
- cat -n 與 nl 均可顯示行號,但預設的情況下,空白行會不會編號並不相同;
- touch 的目的在修改檔案的時間參數,但亦可用來建立空檔案;
- 一個檔案記錄的時間參數有三種,分別是 access time(atime), status time (ctime), modification time(mtime),ls 預設顯示的是 mtime。
- 除了傳統的rwx權限之外,在Ext2/Ext3/Ext4/xfs檔案系統中,還可以使用chattr與lsattr設定及觀察隱藏屬性。 常見的包括只能新增資料的 +a 與完全不能更動檔案的 +i 屬性。
- 新建檔案/目錄時,新檔案的預設權限使用 umask 來規範。預設目錄完全權限為drwxrwxrwx, 檔案則為-rw-rw-rw-。
- 檔案具有SUID的特殊權限時,代表當使用者執行此一binary程式時,在執行過程中使用者會暫時具有程式擁有者的權限
- 目錄具有SGID的特殊權限時,代表使用者在這個目錄底下新建的檔案之群組都會與該目錄的群組名稱相同。
- 目錄具有SBIT的特殊權限時,代表在該目錄下使用者建立的檔案只有自己與root能夠刪除!
- 觀察檔案的類型可以使用 file 指令來觀察;
- 搜尋指令的完整檔名可用 which 或 type ,這兩個指令都是透過 PATH 變數來搜尋檔名;
- 搜尋檔案的完整檔名可以使用 whereis 找特定目錄或 locate 到資料庫去搜尋,而不實際搜尋檔案系統;
- 利用 find 可以加入許多選項來直接查詢檔案系統,以獲得自己想要知道的檔名。
- 《鸟哥的Linux学习:基础篇》第六章:Linux文件和=目录管理
- 《鸟哥的Linux私房菜 基础学习篇(第二版)》 读书笔记 第07章 Linux文件和目录管理
- 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置
- 第六章 Linux文件与目录管理
- 第六章 Linux文件与目录管理
- 第六章Linux文件与目录管理
- 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理
- 鸟哥的Linux私房菜 基础学习篇读书笔记(7):Linux文件与目录管理
- Linux基础学习-文件和目录管理命令
- 【Linux学习】Linux文件和目录管理
- Linux目录结构 / 目录配置标准FHS(Filesystem Hierarchy Standard)(鸟哥的Linux私房菜基础学习篇第三版-第六章)
- 鸟哥的Linux私房菜基础学习篇(第三版)之第六章:档案权限与目录配置
- linux 文件和目录管理--基础命令
- Linux文件与目录管理常用命令详解(鸟哥的Linux私房菜基础学习篇第三版-第七章)
- Linux文件种类与扩展名(鸟哥的Linux私房菜基础学习篇第三版-第六章)
- 鸟哥的Linux私房菜基础学习篇(第三版)之第七章:Linux档案与目录管理
- 《鸟哥的linux》-第7章-linux文件和目录管理
- Linux 基础学习 Linux文件与目录管理
- JS的基本数据结构实现---栈和队列
- android使用友盟推送注册失败获取不到token accs bindapp error!
- 最小生成树的PRIM算法
- Java Core 第9版 读书笔记(OOP) Part2
- grade中在线添加依赖无效不下载的问题和.MainActivity did not call through to super.onCreate()
- 《鸟哥的Linux学习:基础篇》第六章:Linux文件和=目录管理
- 9.变异算法
- 二分法查找JAVA实现
- JDBC 工具类
- 五.memcached内存管理机制
- 代码篇——————windows后门代码
- jQuery基础一(样式篇)--层级&基本筛选
- java获取Date时间的各种方式汇总
- markdown编辑器(eclipse插件markcode )2017-03-21