主頁 >  其他 > 一文帶你學會linux系統 史上最全linux命令大全

一文帶你學會linux系統 史上最全linux命令大全

2021-06-15 07:00:30 其他

一文帶你學會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 檔案路徑 --進入非編輯模式

  1. 非編輯模式命令:
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:表示進入編輯模式,并且游標出現的當前行的下一行(新行)
  1. 編輯模式命令:
    編輯模式下可以能過方向鍵控制游標的位置,并且可以輸入檔案到游標當前位置
    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.用戶和權限命令

  1. 創建用戶組: groupadd 用戶組名稱 #創建一個用戶組 groupadd bows #創建一個叫bows的用戶組

  2. 洗掉用戶組: groupdel 用戶組名稱 #洗掉一個用戶組(洗掉時必須是用戶組下沒有用戶時) groupdel bows #洗掉用戶組

  3. 創建用戶: useradd 用戶名 [-g 用戶組名 -G 用戶組名] #創建一個用戶,-g指定用戶的主用戶組,-G指定用戶的其他用戶組
    useradd bow -g bows #創建bow用戶,并指定它的主用戶組是bows

    id 用戶名 #查看用戶的id id bow #查看用戶bow的id 洗掉用戶: userdel 用戶名 #洗掉用戶 userdel
    bow #洗掉用戶bow

  4. 切換用戶: su 用戶名 #切換用戶,但不加載用戶的環境變數 su - 用戶名
    #切換用戶,并加載用戶的環境變數(建議使用這種方式切換用戶) su bow #切換到bow用戶(root用戶切換到其他用戶是不需要輸入密碼的,其他用戶切換到root用戶是要輸入root用戶密碼的,其他用戶之間的切換也是需要密碼)
    exit #退出當前用戶的登陸

  5. 修改用戶密碼:
    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
上一次登錄:四 326 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(二)

下一篇:docker安裝redis 并且映射組態檔

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more