歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux安裝 >> 認識的哥哥2017_linux命令認識(含例子操作)-2017-2.16

認識的哥哥2017_linux命令認識(含例子操作)-2017-2.16

日期:2017/2/27 14:34:50   编辑:Linux安裝

Linux基本命令

Linux是嚴格區分大小寫

命令的分類:

內部命令 Shell在內部代碼中實現的命令

man type 查看bash Shell自帶的命令

外部命令 Shell以外的命令

用type命令查看內部命令還是外部命令

type cd 提示cd is a shell builtin則說明是內部命令

type mount 提示mount is /bin/bash 告訴外部命令的位置

-------------------------------------------------------------

幫助命令

man 注重於應用,也是最常用的幫助方法

man 的幫助文檔存放的位置

/usr/share/man

man 的幫助文檔分類

1 普通用戶命令

2 系統核心調用的函數工具

3 常用的一些函數與函數庫

4 設備文件的說明

5 配置文件與一些其它格式的文件

6 游戲相關

7 網絡協議相關

8 管理員可操作的命令

9 系統內核相關的文件

在 man 幫助裡:

/c 搜索c關鍵字

n 下一個關鍵字

N 上一個關鍵字

q 退出

info 注重於介紹,不常用

幫助文檔存放位置

/usr/share/info

進入幫助界面

? info命令幫助

空格鍵 向下翻一頁

tab 在結點之間移動,有結點的地方通常會以*顯示,將光標移動結點位置按回車可進入結點

b 移動光標到該文章的第一個結點處

e 移動光標到該文章的最後一個結點處

n 前往下一個info頁

p 前往上一個info頁

u 向上移動一層

s(/) 在info裡搜索

h 顯示幫助菜單

q 退出

-------------------------------------------------------------

目錄命令

pwd 查看當前所在目錄的路徑

cd 切換當前所在目錄

絕對路徑

cd /root/Desktop 指從根目錄開始的路徑

相對路徑

cd root/ 指以當前目錄開始的路徑

. 代表當前所在目錄

.. 代表當前的父目錄

- 代表上一次所在的目錄

~ 代表當前登錄用戶的家目錄

mkdir 創建一個目錄

mkdir test 在當前目錄下創建test目錄

mkdir /tmp/test 在根目錄下tmp目錄裡創建test目錄

mkdir file{1..100} 在當前目錄下創建file1到file100的目錄,這裡會創建100個目錄

mkdir "file{1..100}" 在當前目錄下創建file{1..100}目錄,這裡只創建一個目錄

mkdir -p a/b/c 在當前目錄下創建a/b/c目錄樹

rmdir 只能刪除空目錄

rmdir test 刪除當前目錄的test目錄,test必須是空目錄

rmdir /tmp/test 刪除/tmp下的test目錄

rmdir file{1..100} 刪除file1到file100的目錄

rmdir "file{1..100}" 刪除file{1..100}目錄

-------------------------------------------------------------

文件命令

ls 列出當前文件夾下的所有文件

ls -a 列出當前目錄下所有文件,包含隱藏文件

ls -l 以詳細列表形式列出當前目錄下的所有文件

ls -R 列出當前目錄所有文件,包含子目錄內所有文件

drwxr-xr-x 1 root root 2062 2011-01-04 file1

文件類型和文件權限 文件的硬鏈接數 文件所屬用戶 文件所屬用戶組 文件大小 文件的最後修改日期 文件名

文件類型:

c 字符設備

b 塊設備

l 符號鏈接

s socket文件

p 管道文件

d 文件夾

- 普通文件

常用搭配:

ls -al 顯示所有文件包括隱藏文件列表

ls -lt 顯示按日期時間排序後的文件列表

ls -lh 顯示計算大小為KB為單位的文件列表

ls -dl 顯示文件夾詳細列表

touch 新建文件

touch file 創建file空文件,如果file存在則更新file的存取和修改時間

touch -c file 如果file不存在,則不創建文件

touch -r file1 file 更新file時間和file1相同

touch -a file 更新file的存取時間

touch -m file 更新file的修改時間

touch file{2,3,4} 同時創建file2,file3,file4三個空文件

touch "file{2,3,4}" 創建file{2,3,4}一個空文件

cp 復制文件

cp file dirs/ 把file文件復制到dirs目錄下

cp -r dir1/ dir2/ 把dir1目錄復制到dir2目錄下

cp -a file dirs/ 把file文件復制到dirs目錄下,保留文件的原來屬性

cp -rf dir1/ dir2/ 強制復制文件夾,不提示

cp -rvf dir1/ dir2/ 把dir1目錄復制到dir2目錄下,並且顯示復制過程

mv 移動和重命名文件

mv file dirs/ 把file文件移動到dirs目錄下

mv file file2 把file文件重命名為file2

mv -u dir1/* dir2/ 把dir1目錄下所有文件移動到dir2目錄下,並且根據文件時間來決定要不要移動

rename 批量文件重命名

rename .conf .html *.conf 把所有後綴以.conf的文件名裡出現.conf就改成.html

rm 刪除文件

rm file* 刪除所有file打頭的文件

rm -i file* 提示是否確定刪除

rm -f file* 不提示,強行刪除

rm -r dir2 刪除目錄

-------------------------------------------------------------

文件閱讀命令

cat 文件查看命令

cat /etc/passwd 查看/etc/passwd內容

cat -n /etc/passwd 查看/etc/passwd內容並且編號

cat -b /etc/passwd 查看/etc/passwd內容並且給非空行編號

more

more /etc/passwd 逐屏查看/etc/passwd文件內容

less

less /etc/passwd 查看/etc/passwd文件內容,和more不同的是可以上下滾動

head

head /etc/passwd 查看/etc/passwd前10行內容

head -n 30 /etc/passwd 查看/etc/passwd前30行內容

tail

tail /etc/passwd 查看/etc/passwd後10行內容

tail -n 30 /etc/passwd 查看/etc/passwd後30行內容

tail -f /etc/passwd 實時查看/etc/passwd文件內容

重定向

標准輸入 代碼 0 默認設備為鍵盤

標准輸出 代碼 1 默認設備為屏幕

錯誤輸入 代碼 2 默認設備為屏幕

ls /etc/passwd > output.txt 標准正確輸出重定向到output.txt

ls /etc/shadow >> output.txt 標准正確輸出追加重定向到output.txt

ls dddddd 2> error.txt 標准錯誤輸出重定向到error.txt

ls dddddd 2> /dev/null 標准錯誤輸出重定向到黑洞

ls ddddd /etc/passwd &> /dev/null 標准正確輸出標准錯誤輸出全都重定向到黑洞

管道

cat /etc/passwd | less |之前的命令執行的結果做|後命令的參數

==========================================

用戶管理

用戶分類

管理員 user id一定為0,務必唯一

系統用戶 偽用戶,user id 1-499,默認是不允許登錄系統,用於給予某些服務運行時候所用的身份

普通用戶 user id 500-60000, 通過手工或都命令建立起來的用戶,默認可以進行登錄系統

用戶管理

用戶相關配置文件

/etc/passwd

/etc/shadow

vim /etc/passwd

第一列:用戶名

第二列:密碼 x代表密碼存放在/etc/shadow裡,如果去掉x就代表此用戶沒有密碼

第三列:uid 用戶ID值操作系統是不認識用戶名,只認uid

第三列:gid,用戶組的ID

第五列:描述項

第六列:指定家目錄

第七列:指定bash

vim /etc/shadow

第一列:用戶名

第二列:真實的密碼,經過加密的,以*或都!號開頭的不能登錄

第三列:上一次修改密碼的時間,linux以1970年1月1日到現在的天數來算的

第四列:修改密碼後幾天內不允許再修改, 0代表不限制

第五列:多少天內必須修改密碼,99999代表不限制

第六列:過期前幾天給你一個警告信息

第七列:密碼過期後的一個寬限時間

第八列:這裡可以寫一個實際的賬號過期天數,也是以1970年1月1日到現在來算的,多用於收費系統

第九列:保留,留著以後功能擴展

用戶命令相關配置文件,保存useradd命令創建用戶使用的默認值

/etc/default/useradd

/etc/login.defs

用戶相關命令

useradd/adduser

userdel/deluser

usermod

passwd

useradd a 創建一a用戶

useradd -g kyo a 新建a用戶並且把a用戶添加進kyo用戶組

userdel a 刪除a用戶

userdel -r a 刪除a用戶並且刪除a的家目錄和郵件目錄

passwd a 修改a用戶密碼

passwd -l a 臨時關閉用戶,或修改/etc/shadow第二個字段加*

passwd -u a 釋放臨時關閉用戶

usermod 修改用戶信息

-u 修改UID

-g 修改GID

-d 指它家目錄

-s 指用bash

usermod -G kyo a 把a用戶添加進kyo用戶組

用戶信息相關的命令

chfn 修改一個用戶相關的信息

finger 查看一個用戶相關的信息

組管理

相關配置文件

/etc/group

/etc/gshadow

vim /etc/group

第一列:組名

第二列:密碼,x代表密碼在/etc/gshadow

第三列:gid

第四列:代表屬於這個組的用戶名

vim /etc/gshadow

第一列:組名

第二列:密碼

第三列:組管理員

第四列:組成員

相關命令

groupadd 添加一新用戶組

groupdel 刪除一用戶組

groupmod 修改用戶組信息

gpasswd 修改用戶組密碼

gpasswd -a a root 把a用戶放進root用戶組

gpasswd -A a root 把a用戶放進root用戶組並當管理員

gpasswd -d a root 把a用戶從root用戶組裡刪除

newgrp root 把當前用戶臨時添加進root用戶組,重新登錄失效

id 顯示用戶的ID和組ID

用戶身份切換

su - a 完全切換,不繼承上一個用戶的環境變量,即sbin目錄下的命令用不了

su a 不完全切換,繼承上一個用戶的環境變量,可以用sbin目錄下的命令

手工創建用戶

第一步:在/etc/passwd添加一行信息

bean:x:534:603::/home/bean:/bin/bash

第二步:在/etc/shadow添加一行信息

grub-md5-crypt 創建md5密碼,把密碼替換下面兩個!!位置

bean:!!:15035:0:99999:7:3::

第三步:在/etc/group添加組的信息

bean:x:603:

第四步:在/etc/gshadow添加組的密碼信息

bean:!::

第五步:創建家目錄

mkdir /home/bean

第六步:把用戶的環境變量文件復制到家目錄

cp /etc/skel/.bash* /home/bean

chown bean:bean /home/bean/ -R

chmod 700 /home/bean/ -R

第七步:創建用戶的郵件文件

touch /var/mail/bean

chown bean:bean /var/mail/bean

chmod 660 /var/mail/bean

================================================================================

Linux權限

ls -l

- rw- r-- r-- 1 root root 4383 2011-03-01 01:37 readme.txt

所屬用戶權限u 所屬用戶組權限g 其它人權限o

r read 讀權限

針對文件夾,具有r權限,就代表具有對這個文件夾進行列表的權限

針對文件,具有r權限,就代表具有讀取這個文件的內容的權限

w write 寫權限

針對文件夾,具有w權限,代表具有他能在此文件夾裡創建修改等操作

針對文件,具有w權限,代表具有修改此文件內容的權限

x execute 執行權限

針對文件夾,具有x權限,代表可以切換到此文件夾

針對文件,具有x權限,代表可以運行它,文件必須是可執行或腳本等

二進制轉八進制:

000 0 ---

001 1 --x

010 2 -w-

011 3 -wx

100 4 r--

101 5 r-x

110 6 rw-

111 7 rwx

rwx, r-x, r-x

7 5 5

-------------------------------------------------------------

chmod 修改權限的命令

chmod u+x,g+r,o-r file 修改file文件用戶權限加上可執行權限,用戶組也加上讀權限,其它用戶減去讀權限

chmod u=rwx,g=rw,o=r file 修改file文件用戶權限為可讀可寫可執行,用戶組為可讀可寫權限,其它用戶為讀權限

chmod 755 file 修改file文件用戶權限為可讀可寫可執行權限,用戶組為可讀可執行權限,其它用戶也為可讀可執行權限

chmod 755 dirs -R 修改dirs目錄裡所有文件的用戶權限為可讀可寫可執行權限,用戶組為可讀寫執行權限,其它用戶也為可讀可執行權限

-------------------------------------------------------------

chown 修改文件用戶所屬

chown tom file 修改file文件所屬用戶為tom

chown tom:jack file 修改file文件的所屬用戶為tom,所屬用戶組為jack

chmod jack.root dirs -R 修改dirs目錄裡所有文件所屬用戶為jack,所屬用戶組為root

-------------------------------------------------------------

umask 默認創建文件或文件夾權限掩碼

管理員默認umask為022

普通用戶默認umask為002

默認創建文件夾權限是777,而掩碼設置為022,則要減去掩碼,默認創建文件夾權限則變成755

默認創建文件權限是666,而掩碼設置為022,則減去掩碼,默認創建文件權限為644

-------------------------------------------------------------

特權位 針對命令文件,設定setuid、setgid

針對命令文件設定setuid、setgid

沒加特權位之前,命令運行的時候所采用的身份是運行者的身份

添加了特權位之後,命令運行的時候采用的身份不再是運行者的身份,而是命令本身的所屬者

例:passwd touch

針對目錄設定setgid

設定了組的特權位後,在該文件夾下創建子文件或子目錄,它們自動繼承文件夾的所屬組的身份,子目錄會繼承目錄的特權位

chmod u+s/g+s file 給file設置特權位

chmod u-s/g-s file 給file取消特權位

-------------------------------------------------------------

粘貼位 防止其它用戶刪除文件,針對其它用戶,管理員和本人可以刪除,針對目錄有效,文件沒有用

chmod o+t dirs 給dirs目錄設置粘貼位

-------------------------------------------------------------

文件特殊屬性

lsattr 查看文件特殊屬性

chattr 添加或修改文件特殊屬性

chattr +i file 添加i屬性,管理員也不得更改

chattr +a file 只能追加內容,不得修改內容,如果有i屬性,先取消才能加a屬性

chattr -i/-a file 取消文件特殊屬性

-------------------------------------------------------------------------------

系統基本命令

file 查看文件類型

uname 查看系統基本信息

-r 內核版本

-s 什麼內核

-o 什麼操作系統

-n 什麼發行版

-m 什麼平台

-a 查看所有信息

cal 打印日歷

cal 2005 打印2005年日歷

bc 支持超大數的文本計算器

quit 退出

date 時間日期命令

+%Y 年

+%m 月

+%d 日

+%H 小時

+%M 分

+%S 秒

......

echo 打印字符串

-n 不換行

-e 支持\t\n等

shutdown -r 重啟

suutdown -c 取消計劃中的關機或重啟

shutdown -p 直接關閉電源

shutdown -h 關機

shutdown -h 30 "30秒後就要關機" 計劃關機並給所有終端提示

init 改變系統運行級別

0 關機

1 單用戶模式,沒有用戶和密碼驗證

2 不帶網絡的文本模式

3 帶網絡的文本模式

4 保留

5 帶圖形界面的模式

6 重啟電腦

runlevel 查看當前運行級別

sync 同步磁盤

cat /etc/issue 查看linux系統發行版本信息

w 更詳細的顯示在線情況

21:55:44 up 1:49, 5 users, load average: 0.38, 0.35, 0.23

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty7 :0 20:06 1:49m 1:52 0.12s gnome-session

root pts/2 :0.0 20:24 33.00s 0.10s 0.10s bash

root pts/3 :0.0 21:37 11:18 0.02s 0.02s bash

用戶名 登錄終端 從哪裡登錄過來 登錄時間

踢掉一個遠程登錄過來的用戶

ps -aux | grep pts/5 pts/5是遠程登錄的終端,查看終端對應的PID

kill -9 3236 3236是上面查到的pts/5的PID

命令類別:

內部命令 集成於SHELL程序的命令

外部命令 獨立可執行文件的命令

區別方法:

which 命令

如果有路徑代表外部命令,找不到則代表內部命令

type 命令

如果結果顯示is a shell builtin代表是內部命令,否則為外部命令

幫助命令:

man 外部命令

獲取外部命令的幫助信息

q 退出 h 獲取man手冊幫助信息

man手冊分1 ~ 8的章節

1 基本命令幫助信息

2 系統調用函數幫助信息

3 標准庫函數幫助信息

5 配置文件幫助信息

8 系統管理員命令幫助信息

help 內部命令

獲取內部命令的幫助信息

文件操作命令: rm mv cp touch vim gedit

目錄相關命令: cd pwd mkdir rm ls

文件閱讀命令: head tail cat more less

head 查看指定文件頭部行數內容

head -n 5 file

列出文件前5行內容

tail 查看指定文件尾部行數內容

cat 查看文件所有內容

more 一行一行查看文件內容

q 結束查看

enter 查看下一行

less 可控性更強的查看文件命令

bash SHELL提供:

重定向

0 標准輸入

1 標准輸出

2 錯誤輸出

輸出重定向: > 1> 2> >> 1>> 2>>

輸入重定向: < <<

管道 |

把|前面的命令的輸出給後面命令進行解析

----------------------------------------------------

用戶管理 (用戶為了權限存在)

超級管理員 root 0

系統用戶 1 - 499 / 999 用於系統服務的用戶

普通用戶 500 / 1000 以上

用戶相關配置(超級管理員才可以修改):

/etc/passwd 用戶信息

/etc/shadow 用戶密碼信息

/etc/group 用戶組信息

/etc/gshadow 用戶組密碼信息

用戶相關命令:

id 獲取當前登錄用戶信息

su 切換用戶

useradd/adduser 添加用戶

userdel 刪除用戶

默認不刪除用戶家目錄,-r會刪除家目錄

userdel -r 用戶名

passwd 修改用戶密碼

權限:

查看文件詳細信息

ls -l 文件

-rw-rw-r--. 1 kyo kyo 4633 2月 16 11:18 env.txt

-rw-rw-r-- 文件類型及權限

1 硬鏈接數

kyo 屬用戶

kyo 所屬用戶組

4633 文件大小(字節)

2月 16 11:18 最後修改時間

env.txt 文件名

-rw-rw-r-- 文件類型及權限

第一個字符代表文件類型

- 普通文件

d 目錄

l 軟鏈接

p 管道文件

s 套接字文件

c 字符設備文件

b 塊設備文件

後九個字符代表權限(三個字符為一段)

rw- (u)所屬用戶對此文件的操作權限

rw- (g)所屬用戶組對此文件的操作權限

r-- (o)其它用戶對此文件的操作權限

r 讀

針對文件, 有r才能對此文件讀取內容

針對目錄, 有r才能列表目錄裡內容

w 寫

針對文件,有w才能對此文件進行編輯

針對目錄, 有w才能才能到此目錄裡創建或刪除文件或子目錄

x 可執行

針對文件,有x才能運行文件

針對目錄,有x才能切換進去(cd切換不進去)

修改權限: chmod

chmod u=rwx,g=r--,o=--- file

chmod u+x,g-w,o+r file

權限的數字表示方式(八進制)

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7

chmod 755 目錄/ -R

將目錄及目錄裡所有文件都修改權限為755

修改所屬用戶及組: chown

chown 用戶名:用戶組 file -R

粘貼位(只針對其它用戶對文件夾設置權限 setVTX)

作用: 防止其它用戶刪除

chmod 777 目錄/

chmod o+t 目錄/

用戶只能刪除自己的東西

ls查看粘貼位: 目錄如果有執行權限顯示t, 否則顯示T

特權位(setuid setgid)

只能給所屬用戶與所屬用戶組設置

默認可執行文件運行的權限為當前登錄用戶

有了特權位可執行文件運行的權限為文件的所屬用戶

用戶特權:

chmod u+s 可執行文件

用戶組特權:

chmod g+s 可執行文件

文件特殊屬性:

lsattr 查看文件的特殊屬性

chattr 修改文件的特殊屬性

Copyright © Linux教程網 All Rights Reserved