一文帶你學會linux系統 史上最全linux命令大全
文章目錄
- linux系統簡介
- linux命令
- 1.啟動網路命令
- 2.pwd命令
- 2.ls命令
- 3.cd命令
- 4.mkdir命令
- 5.rmdir命令
- 6.touch命令
- 7.rm命令
- 8.echo命令
- 9.>和>>命令
- 10.檔案查看命令
- 10.1 cat
- 10.2 more
- 10.3 less
- 10.4 head
- 10.5 tail
- 退出查詢
- 11.檔案編輯命令
- 12.cp命令
- 13.scp命令
- 14.mv命令
- 15.man命令
- 16.free命令
- 17.df命令
- 18.wc命令
- 19.ps命令
- 20.kill命令
- 21.用戶和權限命令
- 22.查找命令
- 1.find命令
- 2.grep 命令
- 23.壓縮命令
- 24.source命令
- 25.export命令
- 26.<
linux系統簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix作業系統,是一個基于POSIX的多用戶、多任務、支持多執行緒和多CPU的作業系統,伴隨著互聯網的發展,Linux得到了來自全世界軟體愛好者、組織、公司的支持,它除了在服務器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步,使用者不僅可以直觀地獲取該作業系統的實作機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要,
Linux具有開放原始碼、沒有著作權、技術社區用戶多等特點,開放原始碼使得用戶可以自由裁剪,靈活性高,功能強大,成本低,尤其系統中內嵌網路協議堆疊,經過適當的配置就可實作路由器的功能,這些特點使得Linux成為開發路由交換設備的理想開發平臺

linux命令
1.啟動網路命令
ip addr 查看網卡資訊
service network start 啟動網卡
service network stop 關閉網卡
service network restart 重啟網路
2.pwd命令
pwd命令,查看當前目錄的路徑

linux下所有的絕對路徑都是從根目錄"/"開始
/root:是linux下root用戶的根目錄
/home:是linux下其他用戶的默認根目錄 (例如:在linux上創建了一個bow用戶,那么就會在/home下面生成一個bow目錄作為bow用戶的根目錄)
/etc:是linux下系統組態檔目錄
/tmp:臨時檔案目錄,所有用戶都可以用
2.ls命令
ls 是用來查看目錄下的檔案和檔案夾
ls [引數] 目錄路徑
常用引數如下:
ls [引數] 目錄路徑
ls 表示查看目錄下的檔案
ls #表示查看當前目錄下的檔案
ls -l #表示查看當前目錄下的詳細資訊
ls -a #表示查看當前目錄下的所有檔案(包含隱藏檔案)
ls -la #表示查看當前目錄下的所有檔案(包含隱藏檔案)的詳細資訊
ls -lh #h是以適當的單位來顯示檔案的大小 ls -lh表示查看當前目錄下的檔案的詳細資訊,并以合適單位顯示檔案大小
ls -l / #表示查看根目錄"/"下檔案的詳細資訊
ls /etc #表示查看目錄/etc下的檔案
ls --help #查看命令的幫助檔案
–help引數:所有linux上的命令都有,但寫法上有如下幾種:
(1)–help
(2)–h
(3)-help
(4)-h
ll命令:它和ls -l命令功能相同,但是不是所有的linux上都默認安裝
[root@localhost ~]# ls --help
用法:ls [選項]... [檔案]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隱藏任何以. 開始的專案
-A, --almost-all 列出除. 及.. 以外的任何專案
--author 與-l 同時使用時列出每個檔案的作者
-b, --escape 以八進制溢位序串列示不可列印的字符
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-B, --ignore-backups do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information);
with -l: show ctime and sort by name;
otherwise: sort by ctime, newest first
-C list entries by columns
--color[=WHEN] colorize the output; WHEN can be 'never', 'auto',
or 'always' (the default); more info below
-d, --directory list directories themselves, not their contents
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -ls --color
-F, --classify append indicator (one of */=>@|) to entries
--file-type likewise, except do not append '*'
--format=WORD across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time like -l --time-style=full-iso
-g 類似-l,但不列出所有者
--group-directories-first
group directories before files;
can be augmented with a --sort option, but any
use of --sort=none (-U) disables grouping
-G, --no-group 以一個長串列的形式,不輸出組名
-h, --human-readable 與-l 一起,以易于閱讀的格式輸出檔案大小
(例如 1K 234M 2G)
--si 同上面類似,但是使用1000 為基底而非1024
-H, --dereference-command-line
follow symbolic links listed on the command line
--dereference-command-line-symlink-to-dir
follow each command line symbolic link
that points to a directory
--hide=PATTERN do not list implied entries matching shell PATTERN
(overridden by -a or -A)
--indicator-style=WORD append indicator with style WORD to entry names:
none (default), slash (-p),
file-type (--file-type), classify (-F)
-i, --inode print the index number of each file
-I, --ignore=PATTERN do not list implied entries matching shell PATTERN
-k, --kibibytes default to 1024-byte blocks for disk usage
-l 使用較長格式列出資訊
-L, --dereference 當顯示符號鏈接的檔案資訊時,顯示符號鏈接所指示
的物件而并非符號鏈接本身的資訊
-m 所有專案以逗號分隔,并填滿整行行寬
-n, --numeric-uid-gid 類似 -l,但列出UID 及GID 號
-N, --literal 輸出未經處理的專案名稱 (如不特別處理控制字符)
-o 類似 -l,但不列出有關組的資訊
-p, --indicator-style=slash 對目錄加上表示符號"/"
-q, --hide-control-chars print ? instead of nongraphic characters
--show-control-chars show nongraphic characters as-is (the default,
unless program is 'ls' and output is a terminal)
-Q, --quote-name enclose entry names in double quotes
--quoting-style=WORD use quoting style WORD for entry names:
literal, locale, shell, shell-always, c, escape
-r, --reverse 逆序排列
-R, --recursive 遞回顯示子目錄
-s, --size 以塊數形式顯示每個檔案分配的尺寸
-S sort by file size
--sort=WORD sort by WORD instead of name: none (-U), size (-S),
time (-t), version (-v), extension (-X)
--time=WORD with -l, show time as WORD instead of default
modification time: atime or access or use (-u)
ctime or status (-c); also use specified time
as sort key if --sort=time
--time-style=STYLE with -l, show times using style STYLE:
full-iso, long-iso, iso, locale, or +FORMAT;
FORMAT is interpreted like in 'date'; if FORMAT
is FORMAT1<newline>FORMAT2, then FORMAT1 applies
to non-recent files and FORMAT2 to recent files;
if STYLE is prefixed with 'posix-', STYLE
takes effect only outside the POSIX locale
-t sort by modification time, newest first
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u with -lt: sort by, and show, access time;
with -l: show access time and sort by name;
otherwise: sort by access time
-U do not sort; list entries in directory order
-v natural sort of (version) numbers within text
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
SELinux options:
--lcontext Display security context. Enable -l. Lines
will probably be too wide for most displays.
-Z, --context Display security context so it fits on most
displays. Displays only mode, user, group,
security context and file name.
--scontext Display only security context and file name.
--help 顯示此幫助資訊并退出
--version 顯示版本資訊并退出
SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
使用色彩來區分檔案型別的功能已被禁用,默認設定和 --color=never 同時禁用了它,
使用 --color=auto 選項,ls 只在標準輸出被連至終端時才生成顏色代碼,
LS_COLORS 環境變數可改變此設定,可使用 dircolors 命令來設定,
退出狀態:
0 正常
1 一般問題 (例如:無法訪問子檔案夾)
2 嚴重問題 (例如:無法使用命令列引數)
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
請向<http://translationproject.org/team/zh_CN.html> 報告ls 的翻譯錯誤
要獲取完整檔案,請運行:info coreutils 'ls invocation'
3.cd命令
cd 目錄路徑 #進入一個目錄,目錄路徑可以是絕對路徑(以/開始的路徑都是絕對路徑),也可以是相對路徑
相對路徑:以非/開始的路徑,
注意: "."表示當前目錄
"…"表示當前目錄的上一級目錄,它可以多個一起使用
"~"表示當前用戶的根目錄 例如:root用戶時,~表示/root目錄 bow用戶時,~表示/home/bow目錄
cd / #表示進入系統根目錄
cd usr/ #表示進入當前目錄下的usr目錄
cd local/ #表示進入當前目錄下的local目錄
cd ./bin #表示進入當前目錄下的bin目錄
cd .. #表示進入當前目錄的上一級目錄
cd ../.. #表示進入當前目錄的上級目錄的上一級目錄
cd /usr/local/bin #進入/usr/local/bin目錄
cd ../etc #表示進入和當前目錄同級的etc目錄 #..表示當前目錄的上一級目錄 ../etc表示當前目錄上級目錄下的etc目錄(和當前目錄同級)
cd ~ #表示進入當前用戶的根目錄(cd ~ 和直接執行cd后不加目錄的效果相同)
#例如:root用戶進入/root目錄,bow用戶進入/home/bow目錄
cd ~/data #表示進入當前用戶根目錄下的data目錄 例如:root用戶則進入了/root/data目錄
4.mkdir命令
mkdir 目錄路徑 #創建一個目錄,目錄路徑可以是絕對路徑也可以是相對路徑
mkdir data #在當前目錄下創建一個data目錄
mkdir ./dir #在當前目錄下創建一個dir目錄
mkdir /root/tmp #在/root目錄下創建一個tmp目錄
mkdir創建目錄時,只有在目錄的上級目錄存在時,才會創建
mkdir -p 目錄#創建目錄時,如果沒有父目錄,會創建父目錄,遞回地創建目錄
mkdir -p a/b/c #在當前目錄下創建3級目錄

5.rmdir命令
rmdir [引數] 目錄路徑 #洗掉目錄命令,rmdir默認只能洗掉空目錄
rmdir ./dir #洗掉當前目錄下的dir目錄
rmdir -p 目錄路徑 #表示洗掉目錄和它的父目錄(目錄要是一個空目錄)
rmdir -p a/b/c #洗掉當前目錄下的a/b/c目錄
6.touch命令
touch 命令 #創建檔案命令
touch 檔案路徑
touch 1.txt #在當前目錄下創建一個1.txt檔案
touch /root/2.txt #在/root目錄下創建一個2.txt檔案
7.rm命令
rm [引數] 路徑 #洗掉命令
rm 1.txt #洗掉當前目錄下的1.txt檔案,洗掉時會提示,是否洗掉如果輸入y表示洗掉,輸入n表示不洗掉
rm -f /root/2.txt #-f表示強制洗掉,不會提示,強制洗掉/root目錄下的2.txt
rm -r a/ #遞回的洗掉當前目錄下a目錄下的所有內容
[root@bow ~]# rm -r a/
rm:是否進入目錄"a/"? y
rm:是否進入目錄"a/b"? y
rm:是否進入目錄"a/b/c"? y
rm:是否洗掉普通空檔案 "a/b/c/3.txt"?y
rm:是否洗掉目錄 "a/b/c"?y
rm:是否洗掉普通空檔案 "a/b/2.txt"?y
rm:是否洗掉目錄 "a/b"?y
rm:是否洗掉普通空檔案 "a/1.txt"?y
rm:是否洗掉目錄 "a/"?y
rm -rf a/ #強制洗掉當前目錄下a目錄及a目錄下的所有內容
rm -rf * #洗掉當前目錄下的所有內容
rm -rf a/* #洗掉當前目錄下a目錄下的所有內容
rm -rf *.txt #洗掉當前目錄下的所有txt檔案
rm -rf s #洗掉當前目錄下所有名字中包含s的檔案或檔案夾

8.echo命令
echo #輸出命令,可以輸入變數,字串的值
echo Hello World #列印Hello World
echo $PATH #列印環境變數PATH的值,其中$是取變數值的符號,用法:$變數名 或者 ${變數名}
echo -n #列印內容但不換行
echo -n Hello World
[root@localhost u01]# echo Hello World
Hello World
9.>和>>命令
>和>>:輸出符號,將內容輸出到檔案中,>表示覆寫(會洗掉原檔案內容) >>表示追加
echo Hello World > 1.txt #將Hello World輸出到當前目錄下的1.txt檔案
#如果當前目錄下沒有1.txt檔案會創建一個新檔案,
#如果當前目錄下有1.txt,則會洗掉原檔案內容,寫入Hello World
echo 1234 >> 1.txt #將1234追加到當前目錄下的1.txt中,如果檔案不存在會創建新檔案
通過>和>>都可以創建檔案
10.檔案查看命令
10.1 cat
cat 檔案路徑 #查看檔案的所有內容
cat 1.txt #查看當前目錄下1.txt的內容
cat /root/1.txt #查看/root目錄下的1.txt檔案內容
10.2 more
more 檔案路徑 #分頁查看檔案內容
more linux常用命令.txt #分頁查看當前目錄下linux常用命令.txt檔案的內容
#按空格或回車,會繼續加載檔案內容,按q退出查看
#當加載到檔案末尾時,會自動退出查看
10.3 less
less 檔案路徑 #分頁查看檔案內容
less linux常用命令.txt #分頁查看檔案內容,按空格繼續加載檔案,按q退出查看,不會自動退出查看
10.4 head
head [引數] 檔案路徑 #從檔案開始查看檔案
head linux常用命令.txt #查看檔案的前10行內容
head -n 檔案路徑 # n是一個正整數,表示查看檔案的前n行資料
head -20 linux常用命令.txt #查看檔案的前20行內容
10.5 tail
tail [引數] 檔案路徑 #從檔案的末尾查看檔案內容
tail linux常用命令.txt #查看檔案的后10行內容
tail -n 檔案路徑 # n是一個正整數,表示查看檔案的后n行資料
tail -15 linux常用命令.txt #查看檔案后15行內容
tail -f 檔案路徑 #動態的查看檔案的最后幾行內容(查看檔案時,等待檔案更新,如果檔案更新了,會顯示出新的內容)
tail -f 1.txt #查看檔案1.txt的最新內容,tail -f 一般用來查看日志檔案 按CTRL+C或才CTRL+Z退出查看
退出查詢
CTRL+C:表示暫停行程
CTRL+Z: 表示停止行程
11.檔案編輯命令
vi/vim命令:這兩個命令在使用上幾乎完全一樣
安裝vim命令:(安裝是需要網路的)
yum -y install vim
yum命令是centos和red hat系統上使用官方資源包去安裝軟體的命令
yum -y install 軟體名
yum -y remove 軟體名
查看虛擬機能不能上外網:
ping www.baidu.com
CTRL+C或者CTRL+Z退出
vim命令總體分為兩類
vim 檔案路徑 --進入非編輯模式
- 非編輯模式命令:
yy:復制游標當前行
p:粘貼
dd:洗掉游標當前行
$:游標跳到當前行的行尾
^:游標跳到當前行的行首
:s/原字串/新字串/:替換游標當前行內容
:%s/原字串/新字串/g:全文替換 #g表示global i表示ignore忽略大小寫
/要查找的內容:從游標當前行向后查找內容
/d #在檔案中查找d字母
?要查找的內容:從游標當前位置向前查找內容
?d #查找檔案中的d字母
CTRL+F:向下翻1頁
CTRL+B:向上翻1頁
:set nu:顯示檔案的行號
:set nonu: 去掉行號顯示
u:撤消
:set ff :顯示檔案的格式 #unix表示在unix上的檔案 dos表示檔案是windows上的檔案
:w :表示保存檔案
:q :表示退出vim命令
:wq:保存并退出
:w!:強制保存
:q!:強制退出但不保存
:wq!:強制保存并退出
i:表示進入編輯模式,并且游標在當前行
o:表示進入編輯模式,并且游標出現的當前行的下一行(新行)
- 編輯模式命令:
編輯模式下可以能過方向鍵控制游標的位置,并且可以輸入檔案到游標當前位置
ESC:退出編輯模式
12.cp命令
cp 拷貝命令
cp [引數] 原檔案路徑 目標檔案路徑
cp 1.txt a/ #將1.txt檔案拷貝到a目錄下
cp 1.txt 2.txt #將1.txt拷貝到2.txt
cp -r a data #-r引數表示將目錄和目錄下的檔案一起拷貝,將a目錄拷貝到data目錄
13.scp命令
scp 遠程拷貝命令,它可以將本地檔案拷貝到遠程服務器,也可以將遠程服務器的檔案拷貝到本地,也可以將一臺服務器檔案拷貝到另一臺
scp -r 本地檔案路徑 用戶名@ip[:port]:遠程路徑 #將本地檔案拷貝到遠程服務器
scp -r 2.txt root@192.168.5.105:/root/data/ #將本地的2.txt拷貝到192.168.5.105的/root/data目錄下
scp -r 用戶名@ip[:port]:遠程檔案路徑 本地路徑 #將遠程檔案拷貝到本地
scp -r root@192.168.5.105:/root/3.bak /root/data #將遠程的/root/3.bak檔案拷貝到本地的/root/data目錄
scp -r 用戶名@ip[:port]:遠程檔案路徑 用戶名@ip[:port]:遠程檔案路徑 #將檔案從一臺服務器拷貝到另一臺服務器
scp -r root@192.168.5.105:/root/tmp root@192.168.5.105:/root/data/ #將/root/tmp拷貝到遠程的/root/data目錄下
14.mv命令
mv 移動命令,它可以移動檔案,也可以給檔案改名
mv 原檔案路徑 目標檔案路徑 #將檔案從一個地方拷貝到另一個地方
mv 1.txt 12.txt #將檔案1.txt改名為12.txt
mv tmp tmp #將tmp目錄改名為tm
mv 12.txt tm #將檔案12.txt移動到tm目錄下
15.man命令
man 命令,查看命令的命令,查看命令幫助檔案(顯示的資訊最詳細)
man mv #查看mv命令的檔案
man命令和命令的 --help引數結果相似(man命令只適用于linux本身的命令)
16.free命令
free命令,它是用來查看系統記憶體的命令
free #查看系統記憶體使用情況
free -h #查看記憶體使用情況,并且以合適的單位顯示大小
17.df命令
df命令,它是查看系統硬碟的命令
df #查看系統硬碟使用情況
df -h #查看硬碟使用,并以合適單位顯示大小
18.wc命令
wc 命令,word count的縮寫,它是查看檔案的單詞個數
wc [引數] 檔案
wc -l linux常用命令.txt #-l表示line行數 計算檔案的行數
wc -w linux常用命令.txt #-w表示word單詞個數 計算檔案的單詞個數
19.ps命令
ps命令,它是查看系統行程的命令
ps -aux
ps -ef
jps 查看java行程
20.kill命令
kill 行程id #結束行程
root 21752 1.6 0.5 158800 5532 ? Ss 08:34 0:00 sshd: root@pts/0
kill 21752 #結束ssh登陸的行程
kill -9 行程id #強制結束行程
–了解命令
killall 行程名 #按照行程名結束行程
killall java #結束掉所有的java行程
21.用戶和權限命令
-
創建用戶組: groupadd 用戶組名稱 #創建一個用戶組 groupadd bows #創建一個叫bows的用戶組
-
洗掉用戶組: groupdel 用戶組名稱 #洗掉一個用戶組(洗掉時必須是用戶組下沒有用戶時) groupdel bows #洗掉用戶組
-
創建用戶: useradd 用戶名 [-g 用戶組名 -G 用戶組名] #創建一個用戶,-g指定用戶的主用戶組,-G指定用戶的其他用戶組
useradd bow -g bows #創建bow用戶,并指定它的主用戶組是bowsid 用戶名 #查看用戶的id id bow #查看用戶bow的id 洗掉用戶: userdel 用戶名 #洗掉用戶 userdel
bow #洗掉用戶bow -
切換用戶: su 用戶名 #切換用戶,但不加載用戶的環境變數 su - 用戶名
#切換用戶,并加載用戶的環境變數(建議使用這種方式切換用戶) su bow #切換到bow用戶(root用戶切換到其他用戶是不需要輸入密碼的,其他用戶切換到root用戶是要輸入root用戶密碼的,其他用戶之間的切換也是需要密碼)
exit #退出當前用戶的登陸 -
修改用戶密碼:
passwd 用戶名 #修改用戶密碼 passwd bow #修改bow用戶的密碼
權限:
檔案型別 用戶權限 用戶組權限 其他用戶權限
-
rw- r-- r-- . 1 root root 5890 3月 23 14:11 linux常用命令.txt
d rwx r-x r-x . 4 root root 81 3月 24 08:06 data
d表示檔案夾 u表示用戶權限 g表示用戶組權限 o表示其他用戶權限
r:表示讀權限 數字表示為4
w:表示寫權限 數字表示為2
x:表示執行權限 數字表示為1
-:表示沒有權限
chmod 賦權限命令
chmod 權限 檔案路徑
-rw-r--r--. 1 root root 31 3月 24 07:46 2.txt
chmod u+x 2.txt #給用戶加上執行權限
-rwxr--r--. 1 root root 31 3月 24 07:46 2.txt
chmod g+w 2.txt #給用戶組加寫權限
-rwxrw-r--. 1 root root 31 3月 24 07:46 2.txt
chmod o+x 2.txt #給其他用戶加執行權限
-rwxrw-r-x. 1 root root 31 3月 24 07:46 2.txt
chmod g-w 2.txt #去掉用戶的寫權限
-rwxr--r-x. 1 root root 31 3月 24 07:46 2.txt
用3個數字來設定檔案或目錄的權限,第1個數字表示用戶權限,第2數字表示用戶組權限,第3個數字表示其他用戶權限
chmod 755 2.txt #設定用戶的權限為rwx,用戶組的權限r-x,其他用戶的權限r-x
-rwxr-xr-x. 1 root root 31 3月 24 07:46 2.txt
chmod 766 2.txt #設定用戶權限為rwx,用戶組權限rw-,其他用戶的權限rw-
-rwxrw-rw-. 1 root root 31 3月 24 07:46 2.txt
設定目錄權限時,要使用-R引數,保證目錄下的所有檔案和目錄的權限相同
drwxr-xr-x. 4 root root 81 3月 24 08:06 data
chmod -R 777 data #將data目錄以及它下面的所有檔案的權限設定為rwxrwxrwx
drwxrwxrwx. 4 root root 81 3月 24 08:06 data
chown 命令,它是更改檔案所屬用戶
chown -R 用戶[:用戶組] 目錄或檔案
-rwxrw-rw-. 1 root root 31 3月 24 07:46 2.txt
chown bow 2.txt #將2.txt的所屬用戶改為bow
-rwxrw-rw-. 1 bow root 31 3月 24 07:46 2.txt
chown bow:bows 2.txt #將2.txt所屬的用戶改為bow,用戶組改為bows
-rwxrw-rw-. 1 bow bows 31 3月 24 07:46 2.txt
drwxr--r--. 4 root root 81 3月 24 08:06 data
chown -R bow:bows data #將data目錄及它子目錄檔案的所屬用戶改為bow,用戶組改為bows
drwxr--r--. 4 bow bows 81 3月 24 08:06 data
22.查找命令
1.find命令
find命令,可以根據檔案的時間,名稱等查找檔案
find *.txt #查找txt檔案
2.grep 命令
grep 命令,查找內容
grep cat linux常用命令.txt #在linux常用命令.txt檔案中查詢包含cat的行,查找檔案內容
| 通道符號,連接兩個命令的,將前一個命令的查詢結果傳給后一個命令
ps -ef | grep sshd #查看系統中sshd的行程
ps -ef | grep java #查看所有java行程
grep -v #-v引數表示查詢不包含查找條件的行
grep -v cat linux常用命令.txt #查找linux常用命令.txt中不包含cat的行
ps -ef | grep sshd | grep -v grep #查詢sshd的行程,不包括grep的行
–了解性查詢命令
who命令 #查詢系統中的用戶(登陸的用戶)
whoami命令 #查看系統當前用戶名
whereis命令 #查看系統安裝的某個軟體的路徑
whereis python #查看python的安裝路徑
which 命令 #查找軟體的可執行檔案路徑
which python #查看python可執行檔案路徑
23.壓縮命令
安裝zip和unzip命令:
yum -y install zip unzip
zip壓縮命令
zip 壓縮檔案名 要壓縮的檔案路徑
zip 2.zip 2.txt #將2.txt壓縮到2.zip中
zip data.zip data #只會壓縮檔案夾,不會壓縮檔案夾下的內容
zip da.zip da/* #壓縮檔案夾和檔案夾內的檔案(壓縮檔案夾和它的下一級檔案)
zip -r data.zip date #-r表示遞回地將檔案夾及它的子目錄檔案全部壓縮
unzip解壓命令
unzip 壓縮檔案路徑
unzip 2.zip #將2.zip壓縮包解壓到當前目錄下
unzip -l 壓縮檔案名 #不解壓檔案,查看壓縮包內的檔案
unzip -l da.zip #查看da.zip壓縮檔案中包含的檔案
unzip da.zip -d 目標目錄 #將壓縮檔案解壓到指定目錄
unzip da.zip -d tm/ #將壓縮檔案da.zip解壓到tm目錄下
tar命令,用來壓縮和解壓縮.tar和.tar.gz包
壓縮.tar包:
tar cvf 壓縮檔案名 要壓縮的檔案或目錄
tar cvf 2.tar 2.txt #將2.txt壓縮為2.tar包
tar cvf data.tar data #將data目錄夸張到data.tar包中
解壓.tar包:
tar xvf 壓縮檔案名 [-C 指定解壓目錄]
tar xvf 2.tar #將2.tar解壓到當前目錄
tar xvf 2.tar -C a/ #將2.tar解壓到a目錄
tar xvf data.tar #解壓data.tar到當前目錄
壓縮.tar.gz包:
tar zcvf 壓縮檔案名 要壓縮的檔案
tar zcvf tm.tar.gz tm #將當前目錄下的tm目錄壓縮為tm.tar.gz
解壓.tar.gz包:
tar zxvf 壓縮檔案名
tar zxvf tm.tar.gz #將tm.tar.gz解壓到當前目錄
–了解
gzip命令,將檔案壓縮為.gz包(可以用來壓縮.tar檔案)
gzip 要壓縮的檔案
gzip 2.txt #將2.txt壓縮為2.txt.gz
gzip data.tar #將data.tar壓縮為data.tar.gz
24.source命令
source 檔案路徑 #讓組態檔修改結果立即生效,(還可以在shell腳本中參考其他的shell腳本)
/etc/profile #linux上的系統環境變陣列態檔
source /etc/profile #將系統環境變數生效
25.export命令
export 匯入全域變數(環境變數)
export 變數名=變數值
export 變數名
變數的賦值:
變數名=變數值
26.<<EOF
<<EOF … EOF:將<<EOF和EOF之間的多行內容傳給前面的命令,
其中EOF可以是任意字串,但約定都使用EOF
[root@bow ~]# cat <<EOF
HELLO
WORD
JOB
SMITH
EOF
HELLO
WORD
JOB
SMITH
<<EOF是shell腳本中使用sqlplus的基礎
[root@bow ~]# cat <<A
11234
1234
1234
1253
1253
A
11234
1234
1234
1253
1253
注意:EOF必須頂行寫
[root@bow ~]# cat <<EOF
ASDF
EOF
ASDFASDF
EOF
ASDF
EOF
ASDFASDF
27.cut命令
cut 截取命令
-f 引數,指定列
-d 引數指定列和列之間的分隔符,默認的分隔符是\t(行向制表符)
cut -f 1 1.txt #取1.txt檔案中的第1列內容(列分隔符默認為\t)
cut -f 2 1.txt #取1.txt檔案中的第2列內容
cut -f 1 -d ',' 3.txt #取3.txt檔案中的第1列(列分隔符為,)
cut -f 2 -d ',' 3.txt #取3.txt第2列
wc -l linux常用命令.txt | cut -f 1 -d ’ ’ #取檔案linux常用命令.txt的行數(分隔符是空格)
[root@bow ~]# cut -f 1 -d ‘,’ <<EOF
A,B,C
D,E,F
EOF
A
D
28.printf命令
%ns 輸出字串,n是數字,指代輸出幾個字符
%ni 輸出整數,n是數字,指代輸出幾個數字
%m.nf 位數和小數位數,例如:%8.2f 代表輸出8位數,其中2位是小數,6位是整數
printf 格式字串 內容
[root@bow ~]# printf '%s,%s,%s\n' abc def ghj klj klo qer #一行單詞第三個列印成一行,單詞和單詞之間用逗號隔開
abc,def,ghj
klj,klo,qer
[root@bow ~]# printf '%s %s\n' $(cat 4.txt) #將檔案4.txt中的一行內容中的單詞劃分為兩個一組列印 cat 合作查看檔案內容 $(cat 4.txt)表示取cat命令的執行結果
empno ename
job sal
comm depno
檔案 5.txt 里的內容
A B C D E
F G H
[root@bow ~]# printf '%s,%s\n' $(cat 5.txt)
A,B
C,D
E,F
G,H
[root@bow ~]# printf '%5.2f\n' 12.1
#%5.2f表示輸出一個小數,數的長度是5,其中有兩個小數
12.10
[root@bow ~]# printf '%5.2f\n' 121234.116134
#如果輸出的值最大長度超出5,那么整數部分不變數,小數部分會按照四舍五入的方法保存兩位
121234.12
[root@bow ~]# printf '%i\n' 1234.5678
#%i只取數字的整數部分
-bash: printf: 1234.5678: 無效數字
1234
29.awk命令
awk 命令字串 要處理的內容
[root@bow ~]# awk '{printf $1 "\n"}' 1.txt #printf 列印 $n 表示取第幾列 $1表示取第1列
Hello
smith
tomcat
awk ‘{print $2}’ 1.txt #取1.txt的第2列,print和printf功能相同是列印,比printf多一個換行功能
[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,[root@bow ~]#
[root@bow ~]# awk '{printf $1}' 1.txt
Hellosmithtomcat
[root@bow ~]# awk '{printf $1 "\v"}' 1.txt
Hello
smith
tomcat
[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,
30.sed命令
sed 引數 命令 要處理的內容
-n 一般sed命令會把所有資料都輸出到螢屏,如果加入此選擇,則只會把經過sed命令處理的行輸出到螢屏,
-e 允許對輸入資料應用多條sed命令編輯
-i 用sed的修改結果直接修改讀取的資料的檔案,而不是修改螢屏輸出
[root@bow ~]# sed '2p' 1.txt #查詢第2行
Hello world
smith 18
smith 18
tomcat etl
[root@bow ~]# sed -n '2p' 1.txt
smith 18
[root@bow ~]# sed -i 's/18/20/g' 1.txt
#使用sed命令修改1.txt內容,將1.txt中18替換為20
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
a\ 追加,在當前行后添加一行或多行,添加多行時除最后一行外,每行末尾需要用""代表資料未完結,
d 洗掉,洗掉指定的
p 列印,輸出指定的行
[root@bow ~]# sed -i '2a !' 1.txt #在第2行后面追加一行 !
[root@bow ~]# cat 1.txt
Hello world
smith 20
!
tomcat etl
[root@bow ~]# sed -i '3d' 1.txt #洗掉檔案的第3行內容
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
[root@bow ~]# vim 6.txt
[root@bow ~]# cat 6.txt
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
#將6.txt檔案中的/home/bow修改為/user/bw
#注意:替換時,的符號是根據/來判斷 s/原字串/目標字串/g 如果原字串或新的字串中有/時,需要使用\來轉義
#錯誤寫法:s//home/bow//user/bw/g 正確寫法 s/\/home\/bow/\/user\/bw/g
[root@bow ~]# sed -i 's/\/home\/bow/\/user\/bw/g' 6.txt
[root@bow ~]# cat 6.txt
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
注意:linux中字串的下標是從0開始的
31.service命令
service服務命令
service 服務名 [命令]
命令:enable|disable|start|stop|restart|status
start:啟動服務
stop:關閉服務
restart:重啟服務
status:查看服務狀態
service network start #遍歷網路
service network stop #關閉網路
service network restart #重啟網路
service network status #查看網路狀態
service iptables start #centos6及6以下版本,啟動防火墻的命令
service iptables stop #centos6及6以下版本,關閉防火墻(注意,關閉防火墻,只是臨時關閉,下次重啟之后防火墻依然會啟動)
service iptables restart #重啟防火墻
service mysqld start #啟動mysql資料庫
service mysqld restart #啟動mysql資料庫
service mysqld stop #關閉mysql資料庫
32.chkconfig命令
chkconfig命令檢查,設定系統的各種服務
chkconfig 服務名 on|off #on表示打開服務 off表示關閉服務 通過chkconfig設定的服務是永久生效
centos6及以下版本永久關倍訓打開防火墻
chkconfig iptables on #打開防火墻
chkconfig iptables off #永久地關閉防火墻
防火墻:
centos7以上:
systemctl start firewalld #啟動防火墻
systemctl stop firewalld #關閉防火墻(臨時關閉)
systemctl status firewalld #查看防火墻狀態
systemctl disable firewalld #永久關閉防火墻
systemctl enable firewalld #打開防火墻(不是啟動防火墻)
通過firewall-cmd來配置防火墻
centos6及以下:
防火墻組態檔:/etc/iptables,這個檔案可以詳細的配置防火墻,如果沒有/etc/iptables檔案可以使用iptables save可以生成該檔案
iptables 命令配置防火墻
service iptables start #centos6及6以下版本,啟動防火墻的命令
service iptables stop #centos6及6以下版本,關閉防火墻(注意,關閉防火墻,只是臨時關閉,下次重啟之后防火墻依然會啟動)
service iptables restart #重啟防火墻
32.環境變陣列態檔
/etc/profile是linux系統上配置系統環境變數的一個檔案(針對所有用戶的配置)
用戶根目錄下的.bash_profile:是用戶環境變數的配置(針對當前用戶有效)
su - 用戶名 #切換用戶時,會加載用戶根目錄下的.bash_profile環境變陣列態檔
su 用戶名 #不會加載.bash_profile
33.網路組態檔
網卡組態檔目錄:/etc/sysconfig/network-scripts
網卡組態檔名都是以ifcfg-開頭,其中ifcfg-lo是本地網卡,是不需要配置的
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
#網卡型別
TYPE="Ethernet"
#協議 dhcp表示:ip地址是自動分配的,static表示靜態ip(手動配置ip地址),none表示沒有協議(也是需要手動配置ip地址)
BOOTPROTO="dhcp"
DEFROUTE="yes"
#網卡名稱
NAME="enp0s3"
UUID="deed3fd2-bd67-459b-8a49-ef0dd6e575a2"
DEVICE="enp0s3"
#配置網卡是否隨機啟動,yes:表示隨機啟動,no:表示需要手動啟動
ONBOOT="yes"
#配置靜態ip,BOOTPROTO必須是static或none
#ip地址配置
IPADDR=192.168.1.106
#配置子網掩碼
NETMASTER=255.255.255.0
#配置網關
GATEWAY=192.168.1.1
#配置dns:域名決議服務器可以配置多個
DNS1=192.168.1.1
DNS2=192.168.5.1
修改完網卡檔案之后,重啟網路即可
34.sudo命令
sudo命令,它在非root用戶下,去呼叫一些root用戶的命令,或者修改一些檔案
sudo命令是需要配置的,sudo的組態檔是/etc/sudoers
#給bow用戶配置sudo權限
[root@bow ~]# vim /etc/sudoers
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
#給bow用戶設定sudo命令權限
bow ALL=(ALL) ALL
sudo命令的使用:
sudo 命令
[root@bow ~]# su - bow
上一次登錄:四 3月 26 07:30:53 CST 2020pts/0 上
[bow@bow ~]$ sudo vim /etc/profile
35.ping命令
ping命令查看網路連通性的命令和windows上的功能一樣
36.ifconfig命令
ifconfig命令屬于net-tools軟體包,使用前需要安裝net-tools
net-tools的安裝:
yum -y install net-tools
ifconfig查看ip地址
37.netstat命令
netstat命令也屬于net-tools軟體包
netstat -tulp | grep 1521 #查看oracle監聽器程式是否正常啟動
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287356.html
標籤:其他
上一篇:Web 基礎——Nginx(二)
