您好,登錄后才能下訂單哦!
回顯命令:echo
內建命令
echo "How are you"
echo "$SHELL" 弱應用,顯示變量中的值
/bin/bash
echo '$SHELL' 強引用類型,不會顯示變量中的值
$SHELL
-n:禁止顯示換行符,默認自動加換行符
-e:允許使用轉義符
\n:換行
\t:制表符
echo -e "\n 哈哈"
顯示文件的路徑:which
which [OPTION] COMMAND
--skip-alias 不顯示別名
whereis:locate the binary,source,and manual page files for a COMMAND
whatis
使用mkwhatis命令可將當前系統上所有的幫助手冊及與之對應的關鍵字
創建一個數據庫
Linux會自動運行創建這個數據庫
系統管理類命令:
關機:
halt,poweroff,shutdown,init 0
shutdown是安全關機方式
重啟:
reboot,init 6,shutdown
與用戶登錄有關的:
w,who,whoami
whoami:
看當前用戶是誰
who:
顯示當前有哪些用戶登錄系統
w: show who is logged on and what they are doing
關機或重啟命令:
halt,poweroff,reboot
-f 強制關機,不建議。不保存。
-p 切斷電源。
shutdown
shutdown [OPTION]... TIME [MESSAGE]
-r reboot
-h halt 切斷電源。
-c cancel 取消shutdown
TIME:
now 0也是現在
+m:表示從命令提交開始m分鐘之后
hh:mm 絕對時間。
MESSAGE:警告的內容
Linux的文件系統
根文件系統(rootfs):
root filesystem
LSB:FHS (FileSystem Heirache Standard)
/etc,/usr,/var,/root,/home,/dev
/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)
都存放在此目錄
/bin:供所有用戶使用的基本命令:不能關聯至獨立分區,OS啟動就用到的程序放在這里
/sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動就用到的程序放在這里.
/lib:基本的共享庫和內核模塊,以及內核模塊文件(/lib/modules);
/lib64:專用于x86_64基本的共享庫和內核模塊,以及內核模塊文件;
/etc:配置文件目錄(純文本文件)
/home/USERNAME:家目錄
/root:管理員的家目錄
/media:Mount point for removeable media
/mnt:Mount point for temporarily media
/dev:Device files;設備文件及特殊文件
b:block Device --可隨機訪問
c:character device --必須順序訪問
/opt Add-on application software packages
第三方應用程序的安裝位置。
/srv:系統上運行的服務用到的數據
/tmp:臨時文件存放位置
/usr:一般獨立分區
universal shareable read-only data
必須有下列目錄
bin:存放系統完成基本功能的程序,不是啟動時的
sbin
lib
lib64
include:c程序的頭文件存放位置
share:結構化獨立的數據,例如doc,man等
src:源代碼所在位置
local:Local hierachy;第三方應用程序的安裝位置,目前最常見,也可以mount到獨立的文件系統
bin,sbin,lib,lib64
/var: Hierarchy
經常發生變化的數據文件存放位置
cache:應用程序緩存數據目錄
lib:應用程序狀態數據
local:專用于為/usr/local下的應用程序存儲可變數據
lock:應用程序的鎖文件
log:日志文件
opt:專用于/opt下的可變數據
run:運行中的進程相關數據;通常用于存儲進程的PID文件
spool:緩沖池
tmp:系統2次重啟過程中的臨時文件存放位置
/proc:偽文件系統,用于輸出內核與進程信息相關的虛擬文件系統。
/sys:偽文件系統,用于輸出當前系統上硬件設備相關信息的虛擬文件系統。
/selinux:security enhanced Linux,selinux相關的安全策略等信息的存儲位置。
Linux上的應用程序的組成部分
二進制程序: /bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
庫文件: /lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib
配置文件:/etc,/etc/directory,/etc/local/etc
幫助文件:/usr/share/man,/usr/share/doc ,/usr/local/share/man,/usr/local/share/doc
Linux下的文件類型:
- (f):普通文件
d:目錄文件
b:塊設備:
c:字符設備
l:符號鏈接文件,軟連接文件
p:管道文件;
s:套接字文件;socket文件
bash的基礎特性:
(1) 命令歷史
history
環境變量:
HISTSIZE:命令歷史記錄的條數:
HISFILE: ~/.bash_history;
HISFILESIZE; 命令歷史文件記錄歷史的條數;
history -d OFFSET 刪除指定條目的歷史記錄
-c 清空
history #:顯示最近的number個歷史記錄
-a:append;手動追加當前會話緩沖區的命令歷史至歷史文件中。
調用歷史中的命令:
!!:最近一次命令
!# :第#號命令
!string:最近一個已制定字符串開頭的歷史命令
調用上一條命令的最后一個參數
!$:
上一條命令: cat /etc/fstab
當前命令:ls -l !$ #相當于 ls -l /etc/fstab
ESC, .
控制命令歷史的記錄方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令,連續而且相同
ignorespace:忽略所有以空白字符開頭的命令
ignoreboth:以上二者都生效
修改環境變量的方式:(只對當前shell和子進程有效)
export 變量名=.....
(2)命令補全
bash執行命令:
內部命令:build in
外部命令:搜索$PATH環境變量定義的路徑,自左向右在每個路徑搜尋以用戶給定
名命名的文件,第一次找到的即為要執行的命令。
(3) 路徑補全
(4) 命令行展開
~:展開為用戶的家目錄
~USERNAME :展開為USERNAME的家目錄
{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑。
/tmp/{a,b} = /tmp/a,/tmp/b
例子:
(1):如何創建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,
/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b
mkdir -p /tmp/x/{y1,y2}/{a,b}
(2):如何創建x_m,y_m,x_n,y_n
mkdir -p /tmp/{x,y}_{m,n}
(3):如何創建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,
/tmp/usr/sbin
mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}
(5) 命令的執行結果狀態
bash使用特殊變量$?保存最近一條命令的執行狀態結果。
0:成功
1-255:失敗
目錄管理類命令:
cd pwd,ls
mkdir rmdir ,tree
mkdir [option] /path/to/somewhere /path/to/somewhere2
可以用空格,一次創建多個目錄。
-p:存在也不報錯。如果需要,自動創建父目錄。
-m mode ,創建目錄時直接指定權限。
rmdir [option] /path
只能刪除空目錄
-p: 刪空目錄,一直追溯到不空的父目錄
tree:
樹狀結構顯示
-d 僅顯示目錄
-L:最多顯示多少層級。
文件查看類命令
cat,tac
more,less,tail,head
more [option] [file]
less [option] [file]
head [option] [file]
-c #:指定獲取前#個字節
-n #:指定獲取前#行;默認就是前十行
tail [option] [file]
與head類似
-f 繼續跟蹤file新追加的內容。查看log文件特別有用
文件的時間戳管理工具
touch
文件:metadata,data
查看文件狀態:stat
三個時間戳:
access time,atime: 訪問時間,只要用可執行程序訪問過,就更新此時間
modify time,mtime:修改時間,改變文件內容,更新這個數據
change time ctime: 改變時間,元數據改變,更新這個數據,而元數據包含這三個時間戳
所以,如果atime和mtime改變了。那么ctime也改變了。
touch [option] [file]
默認touch會改變文件的atime、mtime、ctime
-a: 只改變訪問時間
-m:只改變修改時間戳
-t:指明時間戳
touch -m -t 201909011234666 /etc/fstab
-c: 如果文件不存在,那么不創建文件。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。