echo :顯示一行文本
1.echo
常用選項:
-n :輸出但不換行
-e :使“\”引導的轉移序列生效
\n:換行
\t:水平製表符(相當於TAB鍵)
printf:輸出數據(功能類似於echo -e)
---------------------------------------------------------------------------------------
2.mkdir 創建新目錄
-p,--parents:在創建目錄的時候,如果其父目錄不存在,則優先創建之;
-v,--verbose:爲每個被創建的目錄顯示一條信息
3.rm 刪除文件或命令
-f,--force:暴力刪除
-r,-R,--recursive:遞歸刪除目錄以及目錄中的內容
4.ls
ls - 列表目錄的內容
注意:目錄的內容是文件名
-a,--all:顯示所有文件包括隱藏文件;
-A,--almost all,顯示除了“.”和“..”之外的所有文件,包括隱藏文件
--color【=when】:以不同的顏色表示不同的結果
-d,顯示目錄本身,而不是目錄中的文件名字
-h,--human-readable:在顯示文件的大小的時候,顯示爲更加易讀的格式;通常與-l選項一起使用
-l,使用長列表格式顯示文件的詳細屬性;
5.cd
切換工作目錄:
cd:將工作目錄切換至當前登錄用戶的家目錄,相當於cd ~;
cd -:將工作目錄切換至此前最後一次的工作目錄
6.pwd
查看當前目錄
接下來我們以這次課作業爲例
---------------------------------------------------------------------------------------
通過man獲得幫助,創建目錄(如有精力,可以嘗試只使用一次mkdir命令解決此問題)
(1)在/mnt下創建boot和sysroot;
(2)在/mnt/boot下創建grub;
(
3)在/mnt/sysroot下創建proc, sys, bin, sbin, lib, usr, var, etc, dev, home, root, tmp a)在/mnt/sysroot/usr下創建bin, sbin, lib b)在/mnt/sysroot/lib下創建modules c)在/mnt/sysroot/var下創建run, log, lock d)在/mnt/sysroot/etc下創建init.d 可以逐級創建然後使用cd切換目錄繼續創建
也可以使用 -p命令,遞歸創建
---------------------------------------------------------------------------------------
[root@localhost ~]# mkdir -pv /mnt/{boot/grub,sysroot/{sys,bin,sbin,lib/modules,usr/{bin,sbin,lib},var/{run,log,lock},etc/init.d,dev,home,root,tmp}} mkdir: 已創建目錄 "/mnt/boot/grub" mkdir: 已創建目錄 "/mnt/sysroot/sys" mkdir: 已創建目錄 "/mnt/sysroot/bin" mkdir: 已創建目錄 "/mnt/sysroot/sbin" mkdir: 已創建目錄 "/mnt/sysroot/lib" mkdir: 已創建目錄 "/mnt/sysroot/lib/modules" mkdir: 已創建目錄 "/mnt/sysroot/usr" mkdir: 已創建目錄 "/mnt/sysroot/usr/bin" mkdir: 已創建目錄 "/mnt/sysroot/usr/sbin" mkdir: 已創建目錄 "/mnt/sysroot/usr/lib" mkdir: 已創建目錄 "/mnt/sysroot/var" mkdir: 已創建目錄 "/mnt/sysroot/var/run" mkdir: 已創建目錄 "/mnt/sysroot/var/log" mkdir: 已創建目錄 "/mnt/sysroot/var/lock" mkdir: 已創建目錄 "/mnt/sysroot/etc" mkdir: 已創建目錄 "/mnt/sysroot/etc/init.d" mkdir: 已創建目錄 "/mnt/sysroot/dev"
mkdir: 已創建目錄 "/mnt/sysroot/home" mkdir: 已創建目錄 "/mnt/sysroot/root" mkdir: 已創建目錄 "/mnt/sysroot/tmp"
注意:遞歸創建同級目錄,需要用 { } 擴住,並且各目錄用 ","隔開
rm 只有在加了 -r纔可以對目錄進行刪除
7.touch
change file timestamps(修改文件的時間戳)
常用選項有
-c:no create(不創建任何文件)
-a:僅修改文件的訪問時間戳
-m:僅修改文件的修改時間戳
-t STAMP:使用指定的STAMP替換文件的時間戳
STAMP的格式爲:[[CC]YY]MMDDhhmm[.SS]
額外的,如果沒有指定-c選項,touch命令可以創建出被指定爲參數且不存在的文件;
8.stat
display file or file system status 顯示文件或文件系統的狀態
格式:stat[OPTION]...FILE...
常用選項:
-c,--format=FORMAT:以指定的格式顯示文件的指定狀態屬性;
[root@localhost ~]# stat a.txt 文件:"a.txt" 大小:0 塊:0 IO 塊:4096 普通空文件 設備:fd00h/64768dInode:67156633 硬鏈接:1 權限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 環境:unconfined_u:object_r:admin_home_t:s0 最近訪問:2017-08-08 10:22:33.000000000 +0800 最近更改:2017-10-20 18:00:39.348831751 +0800 最近改動:2017-10-20 18:03:13.391825144 +0800 創建時間:- [root@localhost ~]# touch -mt 02152010.20 a.txt [root@localhost ~]# stat a.txt 文件:"a.txt" 大小:0 塊:0 IO 塊:4096 普通空文件 設備:fd00h/64768dInode:67156633 硬鏈接:1 權限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 環境:unconfined_u:object_r:admin_home_t:s0 最近訪問:2017-08-08 10:22:33.000000000 +0800 最近更改:2017-02-15 20:10:20.000000000 +0800 最近改動:2017-10-20 18:04:09.133822753 +0800
9.nano
Nano's ANOther editor, an enhanced free Pico clone
格式:nano [OPTIONS] [[+LINE,COLUMN] FILE]...
^:脫字符:表示鍵盤上的Ctrl按鍵
^+o:保存文檔內容;
^+x:退出編輯界面;
相應的:nano也具有創建文本的功能
10.cat
concatenate files and print on the standard output 連接文件並在標準輸出顯示
格式:cat[OPTION]...[FILE]...
常用選項:
-b:對非空白行進行編號輸出
-n:對所有行進行編號輸出
-s:把多個空白行合成一行
-E:--show--end在行尾以$字符顯示
11.tac
注意:cat或tac如果沒有給出參數,則所有的內容需要通過標準輸入(從鍵盤鍵入)完成。
完成:可以使用^+c或者^+d退出即可
12.head:
output the first part of files,輸出文件的起始部分
格式:head[OPTION]...[FILE]...
常用選項:
-c:--bytes=[-]k 以字節爲單位顯示相應長度的內容
-n:--lines=[-]k 以行爲單位顯示相應長度的內容
可以使用-#方式替換 -n #
注意:如果不使用任何信息,則默認顯示文件內容的前10行,若文件中不足10行,則顯示全部內容。
13.tail
output the last part of files 輸出文件的最終部分
格式:tail[OPTION]...[FILE]...
常用選項:
-c:--bytes=[-]k 以字節爲單位顯示相應長度的內容
-n:--lines=[-]k 以行爲單位顯示相應長度的內容
-f:--follow[={name|descriptor}] 監控文件尾部的變化情況
[root@localhost ~]# nano a.txt [root@localhost ~]# nano b.txt [root@localhost ~]# cat a.txt b.txt 1111 22 3 345 sdsadadsa wewew ewew t e t w dsd [root@localhost ~]# cat -b a.txt b.txt 1 1111 2 3 22 4 3 5 6 345 7 sdsadadsa 8 wewew 9 ewew 10 t 11 e 12 t 13 w 14 15 16 dsd [root@localhost ~]# cat -n a.txt b.txt 1 1111 2 3 22 4 3 5 6 7 345 8 9 sdsadadsa 10 wewew 11 12 13 ewew 14 15 t 16 17 18 19 20 e 21 22 23 24 25 26 t 27 28 29 w 30 31 32 33 dsd 34 [root@localhost ~]# cat -ns a.txt b.txt 1 1111 2 3 22 4 3 5 6 7 345 8 9 sdsadadsa 10 wewew 11 12 ewew 13 14 t 15 16 e 17 18 t 19 20 w 21 22 23 24 dsd 25
[root@localhost ~]# head -c 10 a.txt 1111 [root@localhost ~]# head a.txt 1111 22 3 345 [root@localhost ~]# head -n 10 a.txt 1111 22 3 345
14.more
file perusal filter for crt viewing 分頁顯示文檔的內容,過濾
格式:more[OPTION]file...
交互式編輯方法:
可以使用"/"或者"?"根據後續給出的字符串組合進行查找過濾
可以使用"N"或"n"找到下一個匹配項
使用"q"命令可以退出more命令
使用Enter鍵可以向下翻一行
使用Space鍵可以向下翻一頁
15.less
opposite of more more的精簡版
格式:less[OPTION]file...
交互式編輯方法:
可以使用"/"或者"?"根據後續給出的字符串組合進行查找過濾
可以使用"N"或"n"找到下一個匹配項
使用"q"命令可以退出less命令
使用Enter鍵可以向下翻一行
使用Space鍵可以向下翻一頁
[root@localhost ~]# cat b.txt sdsadadsa wewew ewew t e t w dsd [root@localhost ~]# more b.txt sdsadadsa wewew ewew t e /w ...跳過 w dsd -------------------------------------------------------------------------------------
more:會搜索從當前開始後面內容符合條件的文本
less:則從全局搜索並且標記
16.date
操作系統時間,簡稱系統時間,使用軟件模式的時鐘記錄的時間
打印記錄或設置系統日期或時間
常用選項:
-s:--set=STRING:設置系統時間
格式:1)MMDDHHmm[CCYY].[ss]
2)"CCYY-MM-DD HH:mm:ss"
3)"CCYY/MM/DD HH:mm:ss"
FORMAT
%F:表示完整的年月日格式,即YY-mm-dd
%T:表示完整的時分秒格式,即HH:MM:SS
%Y:表示完整月份
%m:表示月份
%d:表示日期
%H:表示小時
%M:表示分鐘
%S:表示秒鐘
%s:時間戳,1970年1月1日00:00:00到當前系統時間所經歷的秒數
注意:1970年1月1日是Unix元年
此時間戳是由32位二進制表示的,所以最大範圍0—4294967295
17.clock/hwclock
格式:hwclock[function][option...]
常用選項:
-s:--hctosys:根據硬件時鐘設置系統時鐘
-w:--systohc:根據系統時鐘設置硬件時鐘(不推薦)
18.cal
顯示一個日曆
[root@localhost ~]# date -s "2017/10/20 18:36" 2017年 10月 20日 星期五 18:36:00 CST
[root@localhost ~]# clock -s [root@localhost ~]# date 2017年 10月 20日 星期五 18:41:19 CST
[root@localhost ~]# cal 十月 2017 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
19.cp
copy files and directories
格式:cp[OPTION]...[-T] SOURCE DEST;單源複製
cp[OPTION]...SOURCE...DIRECTORY;多源複製
注意:
1):cp命令至少要倆個參數
2):最後一個參數通常是此次複製的目標
3):如果在複製時,給出的目標是目錄
常用選項:
-r,-R:遞歸複製目錄
-d,複製的源文件是符號鏈接文件時,可以保留該符號鏈接文件作爲此次的源文件被複制,
而不會複製複製該符號鏈接文件所指向的那個文件。
-p,複製的源文件中的權限位、所有權及時間戳屬性會保留下來
-a,相當於-pdr的組合
-f,如果目標文件以存在,則將其強制替換且不提示,想要使該選項生效,則在執行cp命
令時,需要在前加上"\",即\cp Source_file Destination_file
20.mv
移動
格式:cp[OPTION]...[-T] SOURCE DEST;單源移動
cp[OPTION]...SOURCE...DIRECTORY;多源移動
常用選項:
-f,移動文件並且強制覆蓋目標位置的同名文件,且不提示
-n,移動文件時,若原文件與目標位置的文件重名則不移動
[root@localhost ~]# cp a.txt b.txt cp:是否覆蓋"b.txt"? y [root@localhost ~]# cat b.txt 1111 22 3 345
[root@localhost ~]# stat /bot/ww/cc 文件:"/bot/ww/cc" 大小:6 塊:0 IO 塊:4096 目錄 設備:fd00h/64768d Inode:2447086 硬鏈接:2 權限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 環境:unconfined_u:object_r:default_t:s0 最近訪問:2017-10-20 18:50:12.768977021 +0800 最近更改:2017-10-20 18:48:53.141980436 +0800 最近改動:2017-10-20 18:48:53.141980436 +0800 創建時間:- [root@localhost ~]# stat /mnt/boot/grub 文件:"/mnt/boot/grub" 大小:16 塊:0 IO 塊:4096 目錄 設備:fd00h/64768d Inode:33555306 硬鏈接:3 權限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 環境:unconfined_u:object_r:default_t:s0 最近訪問:2017-10-20 17:45:33.594870598 +0800 最近更改:2017-10-20 18:50:12.768977021 +0800 最近改動:2017-10-20 18:50:12.768977021 +0800 創建時間:- [root@localhost ~]# cp -p /mnt/boot/grub /bot/ww/cc cp: 略過目錄"/mnt/boot/grub" [root@localhost ~]# cp -pr /mnt/boot/grub /bot/ww/cc [root@localhost ~]# stat /mnt/boot/grub 文件:"/mnt/boot/grub" 大小:16 塊:0 IO 塊:4096 目錄 設備:fd00h/64768d Inode:33555306 硬鏈接:3 權限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 環境:unconfined_u:object_r:default_t:s0 最近訪問:2017-10-20 18:53:37.380968245 +0800 最近更改:2017-10-20 18:50:12.768977021 +0800 最近改動:2017-10-20 18:50:12.768977021 +0800