首頁 > 運維 > linux運維 > 萬字詳解 Linux 常用指令(值得收藏)

萬字詳解 Linux 常用指令(值得收藏)

發布: 2023-08-02 17:32:58
轉載
1191 人瀏覽過

本文將為大家詳細介紹Linux常用的指令、示範以及一些基礎知識的講解

萬字詳解 Linux 常用指令(值得收藏)# #

目錄

  • ls指令
  • file指令
  • #pwd指令
  • whoami指令
  • #cd指令
    • 相對路徑和絕對路徑
  • which指令
  • touch指令
  • mkdir指令
  • #新增使用者信任關係
  • rmdir指令
  • rm指令
  • man指令
  • ##cp指令
  • mv指令
  • 編輯
  • #cat指令
    #
  • echo指令
  • 重定向
  • #more指令
  • less指令
  • head 指令
  • tail指令
  • 管道操作
  • #date指令
  • cal指令
  • #find指令
  • #
  • grep指令
  • zip指令/unzip指令
  • tar指令
  • bc指令
  • uname 指令
  • #shutdown指令
  • stat指令
  • Linux下的三個時間
  • touch指令補充
  • Linux中的熱鍵-
  • 指令一覽

ls指令

語法:ls [選項] [目錄]

功能:ls有多個選項,對於目錄,該指令列出該目錄下的所有子目錄與檔案。對於文件,將列出文件名以及其他資訊

ls不帶選項預設顯示目前目錄下的文件

萬字詳解 Linux 常用指令(值得收藏)

選項:

#-l   :以清單的形式列出文件詳細資訊

萬字詳解 Linux 常用指令(值得收藏)

在Linux系統中,不以檔案後綴區分檔案類型,而是以第一個字元標識檔案類型,不管是檔案後綴是.c還是.txt或是其他後綴,只有是以-開頭的就是普通檔案

  • d:目錄文件,簡單來說就是文件夾,我們可以在該目錄文件下新建文件
  • -:普通文件,分為文本檔案、動靜態函式庫、執行程式等
  • l:軟連結(類似Windows的捷徑)
  • b:區塊裝置文件(例如硬碟、光碟機等)
  • p:管道檔案
  • c:字元裝置檔案(例如螢幕等串列裝置)-
  • s:套介面檔

我們今天重點放在前面的兩類檔案

單一普通檔案就可以分很多種,為了相容windows同時便於我們大多數linux的使用者區分檔案的不同,我們還是習慣透過後綴來表示不同檔案的類型。但有的文件必須加後綴,例如用c語言寫的.c文件,需要特殊處理,以後綴區分類型

  • -a:顯示目錄下的所有文件包括隱藏文件,以點開頭的表示隱藏文件,其中一個點表示當前路徑,兩個點表示上一層路徑,我們將在下面的cd指令中講解.和..
萬字詳解 Linux 常用指令(值得收藏)
  • -d :將目錄像檔案一樣顯示,而不顯示目錄下的文件,這裡的點,就表示目前路徑
萬字詳解 Linux 常用指令(值得收藏)
  • #-R:列出所有子目錄下的檔案(以遞歸的方式) ,目錄下的所有檔案都會列出來
萬字詳解 Linux 常用指令(值得收藏)
  • -n  :用數字的UID,GID 取代名稱
萬字詳解 Linux 常用指令(值得收藏)

還有一些其他的選項就不示範了,大家下去可以嘗試一下

  • -1 一行只輸出一個檔案
  • -r 對目錄反向排序
  • -k 以k 位元組的形式表示檔案的大小。 ls –alk 指定檔案
  • -i 輸出檔案的 i 節點的索引資訊。如ls –ai 指定檔案-
  • -t 以時間排序

file指令

功能:檢視檔案類型

語法:file [檔案]

[king@VM-12-11-centos ~]$ file cat.txt
cat.txt: UTF-8 Unicode text             #类型是文本文件
[king@VM-12-11-centos ~]$ file ret      #类型是目录文件
ret: directory
登入後複製

pwd指令

語法:pwd

功能:顯示目前路徑

萬字詳解 Linux 常用指令(值得收藏)

whoami指令

功能:顯示目前使用者

兩種寫法

萬字詳解 Linux 常用指令(值得收藏)

cd指令

功能:切換路徑

用法:cd [想要切換的路徑]

Linux是以多叉樹的結構管理檔案的,磁碟上的檔案和目錄被組成一棵目錄樹,每個節點都是目錄或檔案。根目錄:/

萬字詳解 Linux 常用指令(值得收藏)

相對路徑與絕對路徑

當我們需要找一個檔案時,就必須知道文件所在路徑和文件名,例如尋找text.c文件,因為每個節點只有一個父親節點,從根目錄出發到text.c文件的路徑是唯一的。完整的描述文件位置的路徑就是絕對路徑,絕對路徑能唯一標識一個文件,上面的pwd指令顯示的就是絕對路徑

萬字詳解 Linux 常用指令(值得收藏)

而相對路徑是:自己相對於目標位置而言的路徑,不具有唯一性,我們可以從不同的位置找到檔案

萬字詳解 Linux 常用指令(值得收藏)
  • #絕對路徑:從跟目錄出發到指定檔案的路徑,能唯一標識一個檔案

  • #相對路徑:從某個檔案出發到指定檔案的路徑,不能唯一標識一個檔案

#cd指令就可以透過相對路徑和絕對路徑的方式進行路徑切換

可以透過絕對路徑切換到指定目錄

萬字詳解 Linux 常用指令(值得收藏)

也可以通过相对路径切换,点点表示上一级路径,cd ..切换到上一级目录,cd ../../切换到上上级路径

萬字詳解 Linux 常用指令(值得收藏)
[king@VM-12-11-centos Linuxclass]$ pwd
/home/king/Linuxclass
[king@VM-12-11-centos Linuxclass]$ cd classcode
[king@VM-12-11-centos classcode]$ ls
a.out  ret.txt  test  test.c
[king@VM-12-11-centos classcode]$ cd test
[king@VM-12-11-centos test]$ cd ../../p1        #切换到上上级目录的p1路径下
[king@VM-12-11-centos p1]$ pwd
/home/king/Linuxclass/p1
登入後複製

有的小伙伴可能就有疑问了,cd ..可以切换到上一级路径,那么cd .有什么用呢?我们本来就在当前目录下,不需要切换啊。

这里我们用vim编写一个hello Linux的代码,通过gcc编译,生成a.out的可执行程序,而我们要运行可执行程序就需要路径和文件名,用点就可以表示它的路径了,相比于下面用绝对路径方便很多

萬字詳解 Linux 常用指令(值得收藏)

cd还有两个选项

[king@VM-12-11-centos Linuxclass]$ pwd
/home/king/Linuxclass
[king@VM-12-11-centos Linuxclass]$ cd ~    #cd ~进入工作目录,就是用户的路径下
[king@VM-12-11-centos ~]$ pwd
/home/king
[king@VM-12-11-centos ~]$ cd -             #cd -返回最近一次访问的路径
/home/king/Linuxclass
登入後複製

which指令

语法:which [指令]

功能:查看指令的系统路径和相关信息

[king@VM-12-11-centos Linuxclass]$ which ls
alias ls='ls --color=auto'                     #alias:给指令取别名
 /usr/bin/ls                                #我们的指令都是系统简化过的
[king@VM-12-11-centos Linuxclass]$ which ll        
alias ll='ls -l --color=auto'                  #ll可以代替ls -l
 /usr/bin/ls                                     
[king@VM-12-11-centos Linuxclass]$ which cd    #同时我们发现指令都是在bin目录下的
/usr/bin/cd
登入後複製
萬字詳解 Linux 常用指令(值得收藏)

指令本质上就是程序,Linux中,指令、命令、工具都是可执行程序 ,都存放在普通文件中,linux下一切皆文件,我们的指令都在bin目录下

萬字詳解 Linux 常用指令(值得收藏)

touch指令

功能:新建文件,更改文档或目录的日期,包括存取时间和更改时间,我们先了解新建文件,关于更改目录日期我们在文章的最后介绍

需要注意的是touch创建的是普通文件,不是目录文件,所以不能cd进入

[king@VM-12-11-centos test]$ touch file1 file2 file3   #touch可以连续创建多个文件
[king@VM-12-11-centos test]$ touch file4               #创建单个文件
[king@VM-12-11-centos test]$ ls
file1  file2  file3  file4
登入後複製

mkdir指令

功能:新建目录文件

mkdir也可以同时创建多个目录文件,cd可以进入,但是不能在一个目录文件下再创建多个子目录,这里就显示无法创建

萬字詳解 Linux 常用指令(值得收藏)

选项-p:递归建立多个子目录

萬字詳解 Linux 常用指令(值得收藏)

添加用户信任关系

这里的tree指令是以树状显示文件,需要用yum下载

yum intsall -y tree
登入後複製

如果我们是普通用户,需要在前面加sudo, sudo可以短暂提升权限,以root的身份执行相应指令

单独su表示切换为root用户,需要输入root用户的密码

萬字詳解 Linux 常用指令(值得收藏)
[ret@VM-12-11-centos ~]$ su
Password:                            #输入root用户密码
[root@VM-12-11-centos ret]# whoami   #切换为root用户
root
[root@VM-12-11-centos ret]# su ret  #root用户可以直接切换成指定用户,不需要输入用户密码
[ret@VM-12-11-centos ~]$ whoami     #现在我们就切换到用户ret了
ret
登入後複製

如果我们sudo yum install -y tree显示类似如下的指令,表示当前用户没有添加信任关系

萬字詳解 Linux 常用指令(值得收藏)

需要以root的身份帮用户添加信任关系,我们将身份切换为root用户,执行如下指令即可添加信任关系,之后我们就可以sudo 了

echo 'xxx ALL=(ALL) ALL' >> /etc/sudoers  (其中xxx代表用户名)
登入後複製

rmdir指令

功能:删除空目录 ,也就是不存放其他文件的目录

这里p1不为空,所以无法删除,如要借助rm指令

萬字詳解 Linux 常用指令(值得收藏)

rm指令

我们删除文件一般都用rm指令,rmdir有点鸡肋

功能:删除目录或文件

选项:

  • -f:强制删除
  • -r:删除目录及目录下的所有文件,以递归的方式。

删除目录要带r选项,此时我们的p1/p2/p3就删除了

萬字詳解 Linux 常用指令(值得收藏)

如果我们想删除目录中的所以文件而不想删除目录,直接加通配符*

萬字詳解 Linux 常用指令(值得收藏)

切记别把根目录给删除

rm -rf /    #切记不要使用,递归强制删除根目录,可能会把系统干崩
登入後複製

man指令

linux中有很多的指令,如果我们不记得某个指令的使用,可以man一下,问问那个男人

选项:

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

9 内核例程

我们目前先了解 1 和 3

同样man需要我们下载 ,普通用户加sudo

yum install -y man-pages
登入後複製

man不加选项,默认解释指令

[king@VM-12-11-centos file11]$ man ls
登入後複製

q退出当前界面

萬字詳解 Linux 常用指令(值得收藏)
[king@VM-12-11-centos file11]$ man 3 printf   #我们可以查看printf库函数
登入後複製
萬字詳解 Linux 常用指令(值得收藏)

cp指令

语法:cp [选项] [源文件] [目标文件] [指定目录]

功能:复制文件或目录

常用选项:

  • -f     强行复制文件或目录, 不论目的文件或目录是否已经存在

  • -r    递归处理,将指定目录下的文件与子目录一并处理。

我們複製檔案file11,同時命名為file

萬字詳解 Linux 常用指令(值得收藏)

#預設複製到目前目錄下,也可以最後指定目錄

mv指令

功能:移動檔案或重新命名檔案

#用法:mv [選項] [原始檔案] [目標檔案]

選項:

  • -f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆寫

  • -i :若目標檔案 (destination) 已經存在時,就會詢問是否覆寫!

這裡我們將文件file11移到file目錄下

萬字詳解 Linux 常用指令(值得收藏)

#如果mv後面跟的不是文件,而是檔案名,就會將檔案重新命名。另外,搜尋公眾號Linux就該這樣學後台回覆“猴子”,獲取一份驚喜禮包。

例如將檔案file11重新命名為change

萬字詳解 Linux 常用指令(值得收藏)

#cat指令

功能:查看檔案內容

語法:cat [選項] [檔案]

選項:

  • -b :對非空白輸出行編號

  • #-n :對輸出的所有行編號

  • -s :不輸出多行空白行

萬字詳解 Linux 常用指令(值得收藏)

echo指令

功能:將字串顯示到標準輸出,也就是螢幕上,echo預設換行

萬字詳解 Linux 常用指令(值得收藏)

重定向

那我們可以將字串寫入檔案嗎?

答案是可以的,透過重定向,字串後面加上> 符號和檔案名,就可以將本該顯示到標準輸出的字串,寫入檔案中,如果檔案不存在,就會自動建立文件,這就是輸出重定向

萬字詳解 Linux 常用指令(值得收藏)

將本該顯示到螢幕上的字串寫入目標檔案中,同時輸出重定向會清空檔案原始內容再重新寫入

在此寫入時,之前的hello Linux已近被清空了

萬字詳解 Linux 常用指令(值得收藏)

#想要保留之前的內容並寫入就需要追加重定向> 符號變成>> 符號

萬字詳解 Linux 常用指令(值得收藏)

#cat指令後面不加文件,預設從鍵盤讀取內容並回顯到顯示器上,也就是螢幕上

萬字詳解 Linux 常用指令(值得收藏)

之前cat显示文件内容就是通过输入重定向显示的

[king@VM-12-11-centos ~]$ cat < file   #这个 < 符号可以省略
AAAAAAA
BBBBBBB
CCCCCCC
登入後複製

more指令

功能:和cat类似,一般用于查看日志,内容比较长的文件

选项:

  • -n :对行编号

  • q :退出more

比如这里我写一个内容从0-1000行的文件

关注公众号:【Linux就该这样学】,在公众号中回复:Linux

count=0; while [ $count -le 1000 ]; do echo "hello ${count}"; let count++; done > cat.txt
登入後複製
萬字詳解 Linux 常用指令(值得收藏)

more会先显示一部分内容,按回车就可以继续读取内容,按q退出,但more有一个弊端,只能往下翻,不能往上翻,所以我们一般不用more指令

less指令

功能:查看文件内容,less用法比more更具有弹性,可以使用 [pageup][pagedown] (前后按键)等按键的功能来往前往后翻看文件,而且less在查看之前不会加载整个文件。

选项:

  • -i   :忽略大小写

  • -N :顯示行號

  • #/字串:向上搜尋字串的內容

  • ?字串:向下搜尋字串的內容

  • #n :重複前一個搜尋(與/ 或?有關)

  • N:返向重複前一個搜尋(與/ 或?有關)

  • #q:退出less

    #
[king@VM-12-11-centos ~]$ less cat.txt
登入後複製
萬字詳解 Linux 常用指令(值得收藏)

我们输入 /3向上搜索字符3,less就会帮我们标记字符3的内容

萬字詳解 Linux 常用指令(值得收藏)

还有其它选项大家可以直接尝试,这里就不在演示了,我们q退出less界面

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧
登入後複製

head 指令

功能:显示文件内容的开头到标准输出,也就是屏幕上,head不加参数默认显示前10行

选项:

-n<行数>

[king@VM-12-11-centos ~]$ head cat.txt    #默认输出前10行
hello 0
hello 1
hello 2
hello 3
hello 4
hello 5
hello 6
hello 7
hello 8
hello 9
[king@VM-12-11-centos ~]$ head -n5 cat.txt   #指定输出前5行
hello 0
hello 1
hello 2
hello 3
hello 4
[king@VM-12-11-centos ~]$ head -5 cat.txt    # n可以省略
hello 0
hello 1
hello 2
hello 3
hello 4
登入後複製

tail指令

功能:用于显示指定文件末尾内容,我们一般查看日志时肯定是查看最新的内容,也就是从尾部开始查看,tail就能很好的帮助我们查看最近的内容

选项:

  • -f :循环读取

  • -n<行号> :显示行数

tail - f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容,非常适合查看日志

[king@VM-12-11-centos ~]$ tail cat.txt   #tail不加行号默认显示尾10行
hello 991
hello 992
hello 993
hello 994
hello 995
hello 996
hello 997
hello 998
hello 999
hello 1000
[king@VM-12-11-centos ~]$ tail -n5 cat.txt  #指定显示尾5行
hello 996
hello 997
hello 998
hello 999
hello 1000
[king@VM-12-11-centos ~]$ tail -5 cat.txt   #n可以省略
hello 996
hello 997
hello 998
hello 999
hello 1000
登入後複製

那我们可以显示文件的头和尾,如果要显示文件中间的内容怎么办呢?

比如我们要显示第100行到110行,有两种方法:

通过重定向将前110行写入一个tmp临时文件,然后在读取尾10行,不过这种方法需要重新创建文件,不进浪费空间效率也低

萬字詳解 Linux 常用指令(值得收藏)

答案是有的,第二种方法借助管道操作

管道操作
萬字詳解 Linux 常用指令(值得收藏)

使用管道时,默认隐式发生了重定向

# 符号 | 表示管道,通过管道将执行的结果传给下一条指令
[king@VM-12-11-centos ~]$ head -110 cat.txt | tail -10 
hello 100
hello 101
hello 102
hello 103
hello 104
hello 105
hello 106
hello 107
hello 108
hello 109
登入後複製

date指令

格式

  • %H : 小时(00..23)
  • %M : 分钟(00..59)
  • %S : 秒(00..61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01..31)
  • %m : 月份 (01..12)
  • %Y : 完整年份 (0000..9999)
  • %F : 相当于 %Y-%m-%d
[king@VM-12-11-centos ~]$ date                 #date默认显示
Fri Jan 28 16:55:54 CST 2022
[king@VM-12-11-centos ~]$ date +%s             #date +%s显示时间戳
1643360162
[king@VM-12-11-centos ~]$ date +%F%X           #按年月日 时分秒的格式显示当前时间
2022-01-2804:56:08 PM
[king@VM-12-11-centos ~]$ date +%F%X@1643360162  # @时间戳,将时间戳转换成标准时间
2022-01-2804:56:27 PM@1643360162
登入後複製

我们可以加_以示区分,但不能是空格,这种写法是错误的

萬字詳解 Linux 常用指令(值得收藏)

cal指令

功能:檢視行事曆

選項:

  • -3 顯示系統前一個月,當月,下個月的月曆

  • #-y  顯示目前年份的年曆

  • cal預設顯示目前月的月曆

萬字詳解 Linux 常用指令(值得收藏)
[king@VM-12-11-centos ~]$ cal -y 2021  #也可以指定年份显示2021的年历
登入後複製

find指令

功能:在文件数中查找文件,并做出相应的处理(可能会访问磁盘),find指令会帮我们在当前目录以及所有该目录的所以子目录下查找相应的文件,当我们遍历一个大的文件系统时,可能会花费一点时间,然后显示相应的文件信息,但当我们下一次再用find查找时,就会快很多

find的选项非常多,这里列举一个,想了解更多可以man find

选项:-name  :按照文件名查找

我们在根目录下查找文件名为text的文件,不过这里很多都是permission denied,因为普通用户的权限不够,有很多文件都不能读取。另外,搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。

萬字詳解 Linux 常用指令(值得收藏)

我们在自己的目录下查找文件名为file的文件,就会把该目录下的所以子文件名为file的显示出来

萬字詳解 Linux 常用指令(值得收藏)

指定目錄

語法:find [起始目錄位置] [-name][filename]

萬字詳解 Linux 常用指令(值得收藏)

grep指令

功能:文字行過濾,搜尋字串

常用選項:

  • -i:忽略大小寫,大小寫視為相同

  • -n:輸出行號

  • -v:反向選擇

#還是拿那個檔案內容為0-1000行的檔案cat.txt範例

#我們在顯示檔案內容時,將帶'90'的字元都顯示出來

萬字詳解 Linux 常用指令(值得收藏)

我們利用輸出重定向再往文件內寫入兩行,-i忽略大小寫,就可以將這兩行都搜尋出來

萬字詳解 Linux 常用指令(值得收藏)

同时grep指令也支持正则表达式,可以搜索 任意我们想要搜索的字符,大家下去可以自行尝试

我们先追加两行到cat.txt中,用正则表达式就可以将这两行搜索出来

[king@VM-12-11-centos ~]$ echo "he9999" >> cat.txt
[king@VM-12-11-centos ~]$ echo "he9290" >> cat.txt
[king@VM-12-11-centos ~]$ cat cat.txt | grep 'he[0-9]*$'   
he9290
he9999
登入後複製

zip指令/unzip指令

zip语法:zip [压缩后的文件名.zip] [目标文件]

功能:将文件压缩成.zip格式

常用选项:

  • -r :將指定目錄下的所有檔案和子目錄一併處理,按遞歸方式

  • unzip語法:unzip [壓縮檔案.zip]

  • #-d:壓縮到指定路徑下

如果我們不加-r選項,直接壓縮檔案

我們以壓縮test檔為例,其中test還有3個子目錄file,file22和file33,壓縮後的file.zip大小只有160

萬字詳解 Linux 常用指令(值得收藏)

解壓縮後發現test檔是空目錄,沒幫我們將所以檔案都壓縮過來

萬字詳解 Linux 常用指令(值得收藏)

所以我們需要帶選項-r,解壓縮後我們發現cur.zip的大小為774,明顯大於之前的160

萬字詳解 Linux 常用指令(值得收藏)

加上選項-d,將cur.zip解壓縮到指定路徑ret檔中

萬字詳解 Linux 常用指令(值得收藏)

tar指令

zip/unzip類似,不過解壓縮後的檔案字尾為.tgz

#功能:完成打包,壓縮,解壓縮

選項:

  • -c :建立一個壓縮檔案的參數指令(create 的意思)
  • -x :解開一個壓縮檔案的參數指令
  • -t :查看tarfile 裡面的檔案!
  • -z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
  • -j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
  • -v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
  • -f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
  • -C :解壓縮到指定目錄

#通常將-czf-xzf配合使用,用來壓縮和解壓,這裡我們同樣將壓縮後的檔案cur.tgz移到test目錄下進行解壓縮

萬字詳解 Linux 常用指令(值得收藏)
##這裡我們將壓縮後的檔案

cur.tgz透過-C選項指定路徑,將檔案解壓縮到ret目錄中

萬字詳解 Linux 常用指令(值得收藏)

前面的操作都是解壓縮和壓縮,而打包是將需要壓縮的所以文件都打包在一起,可以理解將文件都整理起來,文件的大小沒有改變

bc指令

功能:可以理解為計算器

#直接將計算結果顯示到螢幕上,Ctrl c退出

萬字詳解 Linux 常用指令(值得收藏)

uname 指令

功能:取得電腦與作業系統相關資訊

選項:

  • -a :輸出詳細信息,依序為核心名稱,主機名,核心版本號,核心版本,硬體名,處理器類型,硬體平台類型,作業系統名稱

  • -r :輸出核心版本號碼

#uname預設輸出核心名稱,hostname預設輸出主機名,實際上我們只需要-a選項就夠了

核心版本號:3表示主版本號,10表示副版本號,其中副版本號為偶數:穩定版內核為奇數:測試版內核,我們伺服器的使用的內核版本一般都不是最新的,而是一些已經使用過多年的經典版本,對全新的版本,需要經過歲月的考驗,證明內核是穩定,安全,高效的才可能使用

萬字詳解 Linux 常用指令(值得收藏)

shutdown指令

#選項:

  • -h:將系統的服務停掉後立即關機

  • -r:將系統服務停掉後來重新啟動

- -t second:-t [秒數],即過幾秒鐘後關機

對於伺服器呢我們就不需要關機了

這裡我們補充touch指令的更改時間

在介紹touch修改檔時間前我們先介紹一個指令

stat指令

功能:檢視檔案詳細資訊

用法:stat [檔案]

##stat檢視test文件詳細資料

萬字詳解 Linux 常用指令(值得收藏)
檔案的相關資訊:

  • File:顯示檔案名稱
  • #Size:顯示檔案大小
  • #Blocks:檔案使用的資料塊總數
  • #IO Block:IO區塊大小
  • regular file:檔案類型(常規檔案)
  • #Device:裝置編號
  • Inode:Inode號
  • Links:連結數
  • Access:檔案的權限
  • #Gid、Uid:檔案所有權的Gid和Uid

Linux下的三個時間

  1. Access Time:簡寫為atime,表示檔案最近一次被存取時間。
  2. Modify Time:簡寫為mtime,表示檔案內容最近一次被修改時間
  3. Change Time :簡寫為ctime,表示檔案屬性最近一次被修改的時間

atime:當我們過一段時間cat查看檔案後,stat再次查看就會發先atime時間發生變化,當然對於2.6之後的內核,對atime的刷新時間重設了規則,atime不會立即被更新,而是一定時間間隔後OS才會自動更新時間。因為相較於修改文件內容和屬性,查看文件是最高頻的,如果頻繁刷新atime會導致效率降低

萬字詳解 Linux 常用指令(值得收藏)

對mtime:我們寫入hell後,它的三個時間都發生變化,mtime的改變不一定會影響atime,但是ctime可能會隨之改變,因為修改文件內容時,有可能會修改檔案的屬性,例如寫入資料時檔案的大小屬性會被修改

萬字詳解 Linux 常用指令(值得收藏)

ctime:更改檔案屬性的最近時間,這一行表示的就是檔案屬性

萬字詳解 Linux 常用指令(值得收藏)
萬字詳解 Linux 常用指令(值得收藏)

chgmod指令可以改變檔案的存取權限,也就改變了檔案屬性

touch指令補充

選項:

  • -a    改變atime和ctime
  • -c   或--no-create  沒有建立任何文件。
  • -d  使用指定的日期時間,而非現在的時間,改變atime和mtime
  • -f  此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。
  • -m    改變ctime和mtime
  • -r  把指定文件或目錄的日期時間,統統設為和參考文件或目錄的日期時間相同。
  • -t  使用指定的日期時間,而非現在的時間

常用的就是-d,-a -m,而touch指令預設修改所有時間,這裡的touch是對已經建立的檔案操作

萬字詳解 Linux 常用指令(值得收藏)

#Linux中的熱鍵

[Tab] :指令補全,按一次或兩次,會將以wh開頭的指令顯示到螢幕上

萬字詳解 Linux 常用指令(值得收藏)

[c] :終止目前程序,例如螢幕上一直輸出字符,寫了一個死循環代碼,就可以Ctrl c終止

[Ctrl d]:取代exit切換身份,多次Ctrl d直接退出

萬字詳解 Linux 常用指令(值得收藏)

[Ctrl r] :根據關鍵字尋找歷史指令。我們輸入r,自動轉換換成歷史指令

萬字詳解 Linux 常用指令(值得收藏)

[page up page down]:上和下,可以翻閱歷史指令,我們可以直接翻轉最近輸入過的指令,非常方便

指令一覽

  • 安裝與登入指令:login、shutdown、halt、reboot、install、mount、umount、chsh、 exit、last

  • 檔案處理指令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln

  • 系統管理相關指令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab

  • 網路操作指令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup

  • 系統安全相關指令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who

  • #其它指令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode

#

以上是萬字詳解 Linux 常用指令(值得收藏)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:Linux中文社区
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板