Linux基本命令筆記

1 Linux 系統啟動過程

Linux系統的啟動過程并不是大家想象中的那么復雜,其過程可以分為5個階段:

  • 內核的引導。:操作系統---> /boot

  • 運行 init。:操作系統---> /boot---> init進程

  • 系統初始化。操作系統---> /boot---> init進程--->運行級別(7個級別)--->/etc/init.d

    作用:激活交換分區,檢查磁盤,加載硬件模塊以及其它一些需要優先執行任務。

  • 建立終端 。操作系統---> /boot---> init進程--->運行級別--->/etc/init.d

  • 用戶登錄系統。操作系統---> /boot---> init進程--->運行級別--->/etc/init.d--->用戶登錄--->Login shell

2 Linux 文件基本屬性

Linux 文件基本屬性

更改文件屬性

2.1、chgrp:更改文件屬組

語法:

chgrp [-R] 屬組名文件名

參數選項

  • -R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數,那么該目錄下的所有文件的屬組都會更改。

2.2、chown:更改文件屬主

chown:更改文件屬主,也可以同時更改文件屬組

語法:

chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名

進入 /root 目錄(~)將install.log的擁有者改為bin這個賬號:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

將install.log的擁有者與群組改回為root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

2.3、chmod:更改文件9個屬性

Linux文件屬性有兩種設置方法,一種是數字,一種是符號。

Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限。

先復習一下剛剛上面提到的數據:文件的權限字符為:『-rwxrwxrwx』, 這九個權限是三個三個一組的!其中,我們可以使用數字來代表各個權限,各權限的分數對照表如下:

  • r:4
  • w:2
  • x:1
文件的權限

每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

所以等一下我們設定權限的變更時,該文件的權限數字就是770啦!變更權限的指令chmod的語法是這樣的:

 chmod [-R] xyz 文件或目錄

選項與參數:

  • xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
  • -R : 進行遞歸(recursive)的持續變更,亦即連同次目錄下的所有文件都會變更

舉例來說,如果要將.bashrc這個文件所有的權限都設定啟用,那么命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要將權限變成 -rwxr-xr-- 呢?那么權限的分數就成為 [4+2+1][4+0+1][4+0+0]=754。

2.4、符號類型改變文件權限

還有一個改變權限的方法呦!從之前的介紹中我們可以發現,基本上就九個權限分別是(1)user (2)group (3)others三種身份啦! 那么我們就可以藉由u, g, o來代表三種身份的權限!

此外, a 則代表 all 亦即全部的身份!那么讀寫的權限就可以寫成r, w, x!也就是可以使用底下的方式來看:

chmod ugoa +(加入)-(除去)=(設定) rwx 文件或目錄

如果我們需要將文件權限設置為 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 來設定:

[root@www ~]# ls -al .bashrc
-rwxr-xr-x  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod  a+w  .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

而如果是要將權限去掉而不改變其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:

[root@www ~]# chmod  a-x  .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw-  1 root root 395 Jul  4 11:45 .bashrc

3 Linux 文件與目錄管理

3.1、 處理目錄的常用命令

  • ls: 列出目錄
  • cd:切換目錄
  • pwd:顯示目前的目錄
  • mkdir:創建一個新的目錄
  • rmdir:刪除一個空的目錄
  • cp: 復制文件或目錄
  • rm: 移除文件或目錄

你可以使用 man [命令] 來查看各個命令的使用文檔,如 :man cp。

3.2、 Linux 文件內容查看

  • cat 由第一行開始顯示文件內容
  • tac 從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!
  • nl 顯示的時候,順道輸出行號!
  • more 一頁一頁的顯示文件內容
  • less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
  • head 只看頭幾行
  • tail 只看尾巴幾行

4 Linux 用戶和用戶組管理

Linux系統用戶賬號的管理

用戶賬號的管理工作主要涉及到用戶賬號的添加、修改和刪除。

添加用戶賬號就是在系統中創建一個新賬號,然后為新賬號分配用戶號、用戶組、主目錄和登錄Shell等資源。剛添加的賬號是被鎖定的,無法使用。

4.1、添加新的工作組

添加:groupadd 組名    #groupadd group
刪除:groupdel 用戶組
修改:groupmod 選項 用戶組

4.2、添加新的用戶

添加:useradd 選項 用戶名   
刪除:userdel 選項 用戶名
修改:usermod 選項 用戶名

用戶口令的管理
passwd 選項 用戶名

5 Linux 磁盤管理

Linux磁盤管理常用三個命令為df、du和fdisk。

  • df:列出文件系統的整體磁盤使用量 -h -aT
  • du:檢查磁盤空間使用量
  • fdisk:用于磁盤分區
  • mkfs:磁盤格式化
  • mount:磁盤掛載
  • umount:磁盤卸除

5 Linux vi/vim

6 Linux yum命令

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。

基於RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。

6.1、yum 語法

yum [options] [command] [package ...]
  • options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
  • command:要進行的操作。
  • package操作的對象。

6.2、yum常用命令

  • 1.列出所有可更新的軟件清單命令:yum check-update
  • 2.更新所有軟件命令:yum update
  • 3.僅安裝指定的軟件命令:yum install <package_name>
  • 4.僅更新指定的軟件命令:yum update <package_name>
  • 5.列出所有可安裝的軟件清單命令:yum list
  • 6.刪除軟件包命令:yum remove <package_name>
  • 7.查找軟件包 命令:yum search <keyword>
  • 8.清除緩存命令:
    • yum clean packages: 清除緩存目錄下的軟件包
    • yum clean headers: 清除緩存目錄下的 headers
    • yum clean oldheaders: 清除緩存目錄下舊的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的headers

備注:配置本地Yum倉庫

7 Linux scp命令

#scp local_file remote_username@remote_ip:remote_folder 
$scp testHadoop-0.0.1-SNAPSHOT.jar hadoop@115.159.192.111:/home/hadoop/

8 nohup和&的區別

nohup: 永久執行
&: 指在后臺運行

運行 nohup --help
Run COMMAND, ignoring hangup signals. 可以看到是“運行命令,忽略掛起信號”

就是指,用nohup運行命令可以使命令永久的執行下去,和用戶終端沒有關系,例如我們斷開SSH連接都不會影響他的運行,注意了nohup沒有后臺運行的意思;&才是后臺運行

&是指在后臺運行,但當用戶推出(掛起)的時候,命令自動也跟著退出

那么,我們可以巧妙的吧他們結合起來用就是

nohup COMMAND &

這樣就能使命令永久的在后臺執行

#舉個例子nohup tail -f nohup.out
#然后退出登錄,再連接,用ps -ef 你會還能看到在運行
$ps -ef
$root      3457     1  0 18:20 ?        00:00:00 tail -f nohup.out

另外,nohup執行后,會產生日子文件,把命令的執行中的消息保存到這個文件中,一般在當前目錄下,如果當前目錄不可寫,那么自動保存到執行這個命令的用戶的`home`目錄下,例如`root`的話就保存在`/root/`下

9 >和>>

小于號:命令默認從鍵盤獲得的輸入,改成從文件,或者其它打開文件以及設備輸入

>> 是追加內容
> 是覆蓋原有內容

10 2>&1

0表示標準輸入
1表示標準輸出
2表示標準錯誤輸出
默認為標準輸出重定向,與 1> 相同
2>&1 意思是把 標準錯誤輸出 重定向到 標準輸出.
&>file 意思是把 標準輸出 和 標準錯誤輸出 都重定向到文件file中

11 搜索命令

find:

linux下最強大的搜索命令為”find“。它的格式為”find <指定目錄> <指定條件> <指定動作>“;比如使用find命令搜索在根目錄下的所有interfaces文件所在位置,命令格式為”find / -name 'interfaces'“

locate
使用locate搜索linux系統中的文件,它比find命令快。因為它查詢的是數據庫(/var/lib/locatedb),數據庫包含本地所有的文件信息。使用locate命令在根目錄下搜索interfaces文件的命令為”locate interfaces“

whereis name
使用”whereis“命令可以搜索linux系統中的所有可執行文件即二進制文件。使用whereis命令搜索grep二進制文件的命令為”whereis grep“。

which
使用which命令查看系統命令是否存在,并返回系統命令所在的位置。使用which命令查看grep命令是否存在以及存在的目錄的命令為”which grep“。

type
使用type命令查看系統中的某個命令是否為系統自帶的命令。使用type命令查看cd命令是否為系統自帶的命令;查看grep 是否為系統自帶的命令。

12 shell 和bash

shell:
1)是一個交互性命令解釋器。shell獨立于操作系統,這種設計讓用戶可以靈活選擇適合自己的shell。shell讓你在命令行鍵入命令,經過shell解釋后傳送給操作系統(內核)執行。
2)shell是一個程序,它在用戶和操作系統之間提供了一個面向行的可交互接口。
bash: bash是borne again shell的縮寫,它是shell的一種,Linux上默認采用的是bash。當你在命令行中敲入bash命令時,相當于進入bash環境,如果本身就是bash環境,那么就是進入一個子bash環境(相當于開了一個子進程)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容