溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux入門級新手命令的一些常見用法

發(fā)布時間:2020-06-13 19:36:45 來源:網(wǎng)絡 閱讀:164 作者:pacific_ 欄目:系統(tǒng)運維

Linux入門級新手命令的一些常見用法

1.系統(tǒng)時鐘自動同步到NTP服務器

使用timedatectl同步系統(tǒng)時鐘:#timedatectl set-ntp true

前提要在系統(tǒng)上安裝NTP,檢查是否安裝NTP相關(guān)包:#rpm -qa|grep ntp

要檢查服務狀態(tài),使用#timedatectl status

查看所有可用時區(qū):# timedatectl list-timezones

Linux入門級新手命令的一些常見用法

設置本地時區(qū)(例如Asia/Shanghai):# timedatectl set-timezone "Asia/Shanghai"

設置時間和日期:# timedatectl set-time “18:50:21 2019-11-05”

設置時間:# timedatectl set-time 18:50:21

設置日期:# timedatectl set-time 20191105


2.修改主機名

臨時修改:#sudo hostname 新主機名

永久修改:#sudo hostnamectl set-hostname 新主機名

查看主機名:hostname 或hostnamectl

查看FQDN名稱:hostname -f

查看主機IP地址:hostname -i


3.查看進程和端口

查看sshd進程:#ps -ef|grep sshd

查看sshd端口:#netstat -lntup|grep ssh

或者 #ss |grep ssh


4.掛載文件系統(tǒng)

查看已掛載磁盤:#df -h

查看塊狀設備信息:#lsblk

下面以掛接U盤為例:插入U盤之前,應先用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。

創(chuàng)建掛載點:#mkdir -p /mnt/usb

掛載usb(以磁盤分區(qū)sdd1為例):#monut /dev/sdd1 /mnt/usb

只讀模式掛載:#monut -o ro /dev/sdd1 /mnt/usb

查看文件內(nèi)容:#ll /mnt/usb

卸載文件系統(tǒng)(要先退出掛載目錄):#umonut /mnt/usb

若想實現(xiàn)開機自動掛載某設備,只要修改/etc/fstab文件即可。

例如:如果想將文件系統(tǒng)為ext4的硬件設備/dev/sdb2在開機后自動掛載到/backup目錄上,并保持默認權(quán)限且無需開機自檢,就需要修改/etc/fstab文件寫入:

Linux入門級新手命令的一些常見用法


5.軟件的安裝

a.源碼包方式(一般把源碼放在/usr/local/src目錄下)

解壓源碼包:#tar -zxvf *.tar.gz

然后切換到源碼文件夾,順序:配置-編譯-安裝

配置,并指定安裝目錄(這里以ucurses為例):# ./configure --prefix=/usr/local/ncurses

編譯:#make

安裝:#make install


b.二進制包方式(rpm)

查詢某個已安裝軟件:#rpm -qa|grep 關(guān)鍵詞

卸載軟件:#rpm -e 關(guān)鍵詞 [--nodeps]

安裝軟件:#rpm -ivh 完整名稱

升級軟件:#rpm -Uvh 完整名稱

查詢軟件:#rpm -qf 文件路徑 【查詢指定文件屬于哪個包】


c.yum方式安裝

列出當前已安裝和可安裝的軟件:#yum list [installed]

搜索指定的關(guān)鍵詞的包:#yum search 關(guān)鍵詞? ? ? ?

安裝指定的包:#yum [-y] install 包名

更新指定的包,不指定包則更新全部軟件:#yum [-y] update 包名

卸載指定的包:#yum [-y] remove? 包名


6.查看系統(tǒng)信息

uname -m 顯示機器的處理器架構(gòu)

uname -r 顯示正在使用的內(nèi)核版本

cat /proc/version 顯示詳細內(nèi)核版本 或者uname -a?

cat /proc/meminfo 校驗內(nèi)存使用?

cat /proc/cpuinfo? 查看CPU信息

cat /proc/swaps 顯示哪些swap被使用

date 顯示系統(tǒng)時間日期

free -m 查看內(nèi)存使用量和交換區(qū)使用量?

df -h 查看各分區(qū)使用情況

fdisk -l 查看所有分區(qū)?

systemctl list-unit-files? 列出所有系統(tǒng)服務

ifconfig 查看所有網(wǎng)絡接口的屬性?

iptables -L 查看防火墻設置?

route -n 查看路由表?

netstat -lntp 查看所有監(jiān)聽端口?

netstat -antp 查看所有已經(jīng)建立的連接?

netstat -s 查看網(wǎng)絡統(tǒng)計信息進程?

ps -ef 查看所有進程?

top 實時顯示進程狀態(tài)用戶?

w 查看活動用戶?

id <用戶名> 查看指定用戶信息?

last 查看用戶登錄日志?

cut -d: -f1 /etc/passwd 查看系統(tǒng)所有用戶?

cut -d: -f1 /etc/group 查看系統(tǒng)所有組?

crontab -l 查看當前用戶的計劃任務服務?


查看內(nèi)存大小:cat /proc/meminfo |grep MemTotal

查看硬盤大?。篺disk -l |grep Disk

查看內(nèi)存使用量和交換區(qū)使用量:free -m


7.用戶管理(root權(quán)限下執(zhí)行)

useradd user1 創(chuàng)建一個新用戶

useradd -c "備注內(nèi)容 " -g admin -d /home/user1 -s /bin/bash user1 創(chuàng)建一個屬于 "admin" 用戶組的用戶,并指定家目錄和shell

userdel -r user1 刪除一個用戶 (-r并刪除用戶家目錄)

usermod -c "備注內(nèi)容" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性

passwd 修改當前用戶密碼?

passwd user1 修改指定用戶密碼

groupadd group_name 新建一個用戶組?

groupdel group_name 刪除一個用戶組?

groupmod -n new_group_name old_group_name 重命名一個用戶組


8.文件權(quán)限管理(root用戶或文件所有者才可執(zhí)行)

ll 或ls -l ? 顯示文件權(quán)限

ls -m ? 水平輸出文件列表

chmod -R ugo+rwx directory1? 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執(zhí)行(x)的權(quán)限?

chmod -R go-rwx directory1? 刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權(quán)限?

chown user1 file1? 改變一個文件的所有人屬性?

chown user1:group1 file1? 改變一個文件的所有人和群組屬性

chown -R user1 directory1? 改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性?

chgrp group1 file1? 改變文件的群組?

chgrp -R group1 /usr/dir 將/usr/dir及其子目錄下所有文件的用戶組改為group1


權(quán)限范圍的表示法如下:

u User,即文件或目錄的擁有者;

g Group,即文件或目錄的所屬群組;

o Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍;

a All,即全部的用戶,包含擁有者,所屬群組以及其他用戶;

r 讀取權(quán)限,數(shù)字代號為“4”;

w 寫入權(quán)限,數(shù)字代號為“2”;

x 執(zhí)行或切換權(quán)限,數(shù)字代號為“1”;

- 不具任何權(quán)限,數(shù)字代號為“0”;

s 特殊功能說明:變更文件或目錄的權(quán)限。

?

注意:在Linux中,如果要刪除一個文件,不是看文件有沒有對應的權(quán)限,而是看文件所在的目錄是否有寫權(quán)限,如果有才可以刪除。


9.文件搜索

1) find 用來在指定目錄下查找文件(占用資源大,應盡量縮小搜索范圍)

按文件名稱搜索:

find /etc -name init 精準搜索,必須為init才能搜索的到

find /etc -iname init 必須為init或有字母大寫也能搜索到

find /etc -name *init 模糊搜索,以init結(jié)尾的文件或目錄名

find /etc -name init???模糊搜索 ?表示單個字符

根據(jù)文件類型查找:f表示文件,d表示目錄,l表示軟鏈接

find /home -type d? 查找/home目錄下文件類型是目錄的


2) locate 用來在文件資料庫中查找文件

新建文件需要命令updatedb 手動更新資料庫才能用locate搜到,另外/tmp目錄不屬于文件資料庫的收錄范圍。

locate -i 不區(qū)分大小寫搜索


3)which 用來搜索命令所在的目錄及別名信息

which【命令】

例如:which grep


4) whereis 用來搜索命令所在的目錄及幫助文檔路徑

whereis【命令】

例如:whereis ls


5) grep 用來在文件中搜尋字符串匹配的行并輸出

grep 關(guān)鍵詞 文件路徑

-i 不區(qū)分大小寫

-v 反向搜索,即排除指定字符串

-m 只顯示全字符合的列,即精確搜索

例如:grep mysql /root/install.log


10.查看文件內(nèi)容

cat file1 正向查看文件的內(nèi)容?

tac file1 反向查看文件的內(nèi)容?

more file1 查看一個長文件的內(nèi)容?

less file1 與more類似,不同的是允許用戶向前或向后瀏覽文件

head -n2 file1 查看一個文件的前兩行,-n可省略

tail -2 file1 查看一個文件的最后兩行?

tail -f /var/log/messages 實時查看被添加到一個文件中的內(nèi)容?


11.文本處理

1)cut 列截取工具。用于列的截取

-c 以字符為單位進行分割,截取

? ? 例:cut? -c1-5 passwd ? 截取第一到第五個字符。?

?? ? ? cut -c10- passwd 從第十個字符開始往后全部截取

-d? ? 自定義分隔符,默認為制表符\t

-f? ? 與-d一起使用,指定截取那哪個區(qū)域

? ? 例: cut -d: -f1,3 passwd? 以:分割截取第一和第三列

?? ?

2)sort 將文件/文本的每一行作為一個單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進行比較,最后將他們按升序輸出。

-t 分隔符, 類似cut? -d

-k 第N列, 類似cut -f?

-o 將排序結(jié)果輸出到文件中,類似重定向符號>

-n 以數(shù)字排序,默認是按字符排序

-r 降序排列,默認是升序

-u 去除重復行,類似uniq

-R 隨機排序,每次運行的結(jié)果都不同

例如:#sort -nrk 3 -t: test.txt


3)uniq? 用于去除連續(xù)的重復行

? -i? 忽略大小寫

? -c? 統(tǒng)計重復行次數(shù)

? -d? 只顯示重復行


4)tee? 用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡單的說就是把數(shù)據(jù)重定向到給定文件和屏幕上。例

ls -l | tee file.txt | less

并輸出file.txt內(nèi)容


-a 向文件中重定向時使用追加模式


5)diff? 用于逐行比較文件的不同

語法:diff [選項]? 文件1? 文件2

-c? 上下文格式顯示

-u? 合并格式顯示

-q或--brief:僅顯示有無差異,不顯示詳細的信息;


注意:diff描述兩個文件不同的方式 是告訴我們怎樣改變第一個文件之后與第二個文件匹配。


有時候我們需要以一個文件為標準,去修改其他的文件,并且修改的地方較多時,我們可以通過打補丁的方式完成。

第一步,先找出文件的不同,然后輸出到一個文件

? ? ? # diff -uN file1 file2 > file.patch

? ? ? -N 表示將不存在的文件當做空文件

第二步,將不同內(nèi)容補丁到文件

? ? ? # patch file1 file.patch

第三步,測試驗證

? ? ? #diff file1 file2

?? ? ?

6)paste? 用于將多個文件按照列隊列進行合并。

paste file1 file2 file3

-d? 自定義間隔符,默認是tab

-s? 串行處理,非并行


小技巧:通過重定向到空來清空文件內(nèi)容,例如#>access.log


7)tr ? 用于字符轉(zhuǎn)換,替換和刪除,主要用于刪除文件中控制字符或進行字符轉(zhuǎn)換

用法1:命令的執(zhí)行結(jié)果交給tr處理,其中string1用于查詢,string2用于轉(zhuǎn)換處理

? # commands | tr ‘string1’ ‘string2’

用法2:tr處理的內(nèi)容來自文件,記住要使用“<”? 標準輸入

? # tr ‘string1’ ‘string2’ < filename

用法3: 匹配sting1進行相應操作,如刪除操作

? # tr options ‘string1’ < filename

?? ? ? ? -d? 表示刪除字符串1中所有輸入字符

?? ? ? ? -s? 表示刪除重復出現(xiàn)字符序列,只保留一個,即將重復出現(xiàn)字符串壓縮為一個字符串。

例:

將輸入字符由大寫轉(zhuǎn)換為小寫:

? #echo "HELLO WORLD" | tr 'A-Z' 'a-z'

使用tr刪除字符:

? #echo "hello 123 world 456" | tr -d '0-9'

將制表符轉(zhuǎn)換為空格:

? #cat text | tr '\t' ' '



12.文件和目錄操作

cd /home 進入home目錄'

./表示當前目錄?

cd .. 返回上一級目錄?

cd ../.. 返回上兩級目錄?

cd 進入當前用戶的家目錄?

cd ~user1 進入指定用戶的家目錄?

cd - 返回上次所在的目錄?

pwd 顯示當前工作路徑


ls 用來顯示目標列表

ls -d 僅顯示目錄名,而不顯示目錄下的內(nèi)容列表

ls -a 顯示隱藏文件

ls -l 或ll 所有輸出信息用單列格式輸出

ls -F:在每個輸出項后追加文件的類型標識符,具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當文件為普通文件時,不輸出任何標識符;

tree 顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(可能需安裝tree命令)

mkdir dir1 創(chuàng)建一個叫做dir1的目錄'?

mkdir dir1 dir2 同時創(chuàng)建dir1 dir2兩個目錄?

mkdir -p /tmp/dir1/dir2 遞歸創(chuàng)建dir1 dir2目錄


rm -f file1 強制刪除文件file1?

rm -rf dir1 刪除目錄dir1及其子內(nèi)容?

rm -rf dir1 dir2 同時刪除兩個目錄及其子內(nèi)容?

mv dir1 new_dir 重命名/移動,將dir1重命名為new_dir


cp file1 file2 復制一個文件(一般不建議更名)?

cp dir/* ./ 復制一個目錄下的所有文件到當前工作目錄?

cp -a /tmp/dir1 ./ 復制一個目錄到當前工作目錄?

cp -a dir1 dir2 復制一個目錄


ln -s file1 lnk1 創(chuàng)建一個指向文件或目錄的軟鏈接

touch -t 0712250000 file1 修改一個文件或目錄的時間戳 - (YYMMDDhhmm)?

touch file1 新建一個文件


13.系統(tǒng)關(guān)機/重啟/注銷

shutdown -h now 立即關(guān)機

poweroff 關(guān)機

init 0 關(guān)閉系統(tǒng)

init 3 切換到命令行界面

init 5 切換到圖形界面

shutdown -r now 重啟

reboot 重啟

logout 注銷?


例:指定5分鐘后關(guān)機

?# shutdown +5 “System will shutdown after 5 minutes” //5分鐘后關(guān)機并顯示警告信息

shutdown -c 取消按預定時間關(guān)閉系統(tǒng)?


一些常用快捷鍵:

tab鍵:補全命令

Ctrl+L :清屏,與clear命令一樣

Ctrl+u:刪除光標前所有內(nèi)容

Ctrl+k:刪除光標往后所有內(nèi)容

Ctrl+r:查找歷史命令(history)

Ctrl+c: 終止進程

!命令 :執(zhí)行最近的一次指定命令

!! :執(zhí)行上一個命令

方向鍵上下鍵↑↓:調(diào)出歷史命令


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI