2.文件的基本管理

linux根目錄的說明

/           處於linux系統樹形結構的最頂端,它是linux文件系統的入口,全部的目錄、文件、設備都在/之下。
/bin        bin是Binary的縮寫。經常使用的二進制命令目錄。好比 ls、cp、mkdir、cut等;和/usr/bin相似,一些用戶級gnu工具。
/boot       存放的系統啓動相關的文件,例如:kernel.grub(引導裝載程序)。
/dev        dev是Device的縮寫。設備文件目錄,好比聲卡、磁盤等,在Linux中一切都被看作文件。終端設備、磁盤等都被看作文件。
            例如:/dev/sda、/dev/sda一、/dev/tty一、/dev/tty二、/dev/pts/一、/dev/zero、/dev/null、/dev/cdrom
/etc        經常使用系統及二進制安裝包配置文件默認路徑和服務器啓動命令目錄。
            例如:passwd:用戶信息文件、shadow:用戶密碼文件、group:存儲用戶組信息、fstab:系統開機啓動自動掛載分區列表、
            hosts:設定用戶本身的IP與主機名對應的信息、profile:系統的環境變量的設置。
/home       普通用戶的家目錄默認存放目錄。
/lib        庫文件存放目錄,函數庫目錄。
/lost+found 默認爲空,被FSCK(file system check用來檢查和維護不一致的文件系統。若系統掉電或磁盤發生問題,
            可利用fsck命令對文件系統進行檢查)用來放置零散文件(沒有名稱的文件)。
            當系統非法關機後,這裏就會存放一些文件。在centos6版本下,每一個分區的掛載點下會有些目錄。
            在centos7中沒有
/opt        表示的是可選擇的意思,有些軟件包也會被安裝在這裏。
/proc       操做系統運行時,進程(正在運行中的程序)信息及內核信息(好比cpu、硬盤分區、內存信息等)存放在這裏。
            /proc目錄是假裝的文件系統proc的掛載目錄,proc並非真正的文件系統。所以,這個目錄是一個虛擬的目錄,
            它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。也就是說,這個目錄的內容不在硬盤上而是在內存裏。
            例如:查看CPU信息:cat /proc/cpuinfo
/sys        系統目錄,存放硬件信息的相關文件
/run        運行目錄,存放的是系統運行時的數據,好比進程的PID文件
/srv        服務目錄,存放的是咱們本地服務的相關文件
/sbin       大多數涉及系統管理的命令都存放在該目錄中,它是超級權限用戶root的可執行命令存放地,
            普通用戶無權限執行這個目錄下的命令,凡是目錄sbin中包含的命令都是root權限才能執行的。
/tmp        該目錄用於存放臨時文件,有時用戶運行程序的時候,會產生一些臨時文件。/tmp就是用來存放臨時文件的。
            /var/tmp目錄和該目錄的做用是類似的,不能存放重要數據,它的權限比較特殊。
            ls –ld /tmp
            drwxrwxrwt 10 root root 12288 Oct 3 20:45 /tmp/ 
            t表示粘滯位(sticky bit)目錄的sticky位表示這個目錄裏的文件只能被owner和root刪除
/var        系統運行和軟件運行時產生的日誌信息,該目錄的內容是常常變更的,存放的是一些變化的文件。
            好比/var下有/var/log目錄用來存放系統日誌的目錄,還有mail、/var/spool/cron。
/usr        unix system resource,存放應用程序和文件。
            /usr/bin 普通用戶使用的應用程序
            /usr/sbin 管理員使用的應用程序
            /usr/lib 庫文件Glibc(32位)
            /usr/lib64 庫文件Glibc
/lib、/lib64都在/usr/目錄下,存放着系統最基本的動態連接共享庫,包含許多被/bin/和/sbin/中的程序使用的庫文件,
            目錄/usr/lib/中含有更多用於用戶程序的庫文件。做用相似於windows裏的DLL文件,幾乎全部的應用程序都須要用到這些共享庫。
            注:lib***.a是靜態庫、lib***.so是動態庫
            靜態庫在編譯時被加載到二進制文件中、動態庫在運行時加載到進程的內存空間中。

文件的管理

建立文件

命令:touch 

做用:經常使用來建立空文件,若是文件存在,則修改這個文件的時間
語法:touch 文件名
例如:node

touch a.txt
touch file1 file2
touch file{6..20}  #建立file6到file20的文件
touch -d "20181019 21:30" a.txt  #設置文件的時間
ll a.txt
-rw-r--r-- 1 root root 0 10月 19 2018 a.txt

補充:linux

[root@app ~]# stat /etc/passwd  #查看文件屬性(其中包括文件時間屬性)
文件:"/etc/passwd"
大小:2116          塊:8          IO 塊:4096   普通文件
設備:803h/2051d    Inode:9401663     硬連接:1
權限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近訪問:2017-11-16 14:57:39.923177258 +0800
最近更改:2017-11-16 14:57:39.397177256 +0800
最近改動:2017-11-16 14:57:39.409177256 +0800

注:
訪問時間:atime 查看內容 cat a.txt
修改時間:mtime 修改內容 vim a.txt
改變時間:ctime 文件屬性,好比權限 chmod +x a.shvim

使用vim和重定向建立一個新文件

vim a.txt #vim建立文件
echo aaa > a.txt #重定向建立文件

建立目錄

命令:mkdir

做用:建立目錄
語法:mkdir (選項) 文件名windows

mkdir dir1
mkdir -p /tmp/a/b/c  #在建立一個目錄的時候,若是這個目錄的上一級不存在的話,要加參數-p

刪除文件和目錄

命令:rm

做用:能夠刪除一個目錄中的一個或多個文件或目錄,對於連接文件,只是刪除整個連接文件,而原文件保持不變的
語法:rm (選項) 處理對象
選項:
-f 強制刪除,沒有提示
-r 刪除目錄centos

rm -rf a.txt dir
rm -rf file*

複製文件

命令:cp

語法:cp 源文件/目錄 目標文件/目錄
選項:-R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理服務器

cp /etc/passwd /opt/    #複製文件
cp -r /boot/grub /opt/  #複製目錄

移動文件

命令:mv 源文件/目錄 目標文件/目錄

mv passwd dir1
mv b.txt dir1/a.txt   #在移動文件的時候支持更名操做

查看文件

命令:cat

語法:cat 文件名
做用:查看文件內容,一次顯示整個文件的內容app

命令:more

語法:more 文件名
做用:以分頁形式顯示文件內容
說明:按下回車刷新一行,按下空格刷新一屏,輸入q鍵退出less

命令:less

語法:less 文件名
做用:和more功能同樣
說明:linux中more與less的區別
more:不支持後退,但幾乎不須要加參數,空格鍵是向下翻頁,Enter鍵是向下翻一行,在不須要後退的狀況下比較方便
less:pageup按鍵:向上翻頁、pagedown按鍵:向下翻頁、空格鍵:向下翻頁,Enter鍵:向下翻一行函數

命令:head

語法:head (選項) 文件名
做用: 用於顯示文件的開頭的內容。在默認狀況下,head命令顯示文件的頭10行內容
參數:-n 顯示從文件頭開始的行數工具

命令:tail

語法:tail (選項)文件名做用: 用於顯示文件中的尾部內容。默認在屏幕上顯示指定文件的末尾10行參數: -n 顯示文件尾部多少行的內容(n爲數字)-f 動態顯示數據(不關閉),經常使用來查看日誌

相關文章
相關標籤/搜索