Linux常用命令和環境搭建

一、Linux權限的概念

Linux下有兩種用戶:普通用戶和超級用戶()。
普通用戶:在linux下做有限的事情;
超級用戶:可以在linux系統下做任何事情,不受限制。
普通用戶的提示符是“$”,超級用戶的命令提示符是“#”。
命令:su [用戶名]
功能:切換用戶
Linux權限管理
1.文件訪問者的分類(人)
文件和文件目錄的所有者:u—User
文件和文件目錄的所有者所在的組的用戶:g—Group
其他用戶:o—Others
2.文件訪問權限的種類
基本權限:
read 對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄信息的權限。
write 對文件而言,具有修改文件內容的權限;對目錄來說,具有刪除移動目錄內文件的權限。
execute 對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限。
- 表示不具有該權限。
3.文件權限值得表示方法

  • r-- 只讀 權限爲4+0+0=4
  • -w- 僅可寫 權限爲0+2+0=2
  • --x 僅可執行
  • rw- 可讀可寫
  • -wx 可寫可執行
  • r-x 可讀可執行
  • rwx 可讀可寫可執行
  • — 無權限
  • rwx 其中r權限爲4 w爲2 x爲1,rwx爲4+2+1=7

二、Linux下基本命令

1.ls命令:
格式::ls [選項] [目錄或文件]
功能:對於目錄,列出該目錄下的所有子目錄與文件;對於文件,列出文件名以及其他信息。
常用選項:
-a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d :將目錄像文件一樣顯示,而不是顯示其他文件。
-i :輸出文件的i節點的索引信息。
-k :以k字節的形式表示文件的大小。
-l :列出文件的詳細信息。
-n :用數字的UID,GID代替名稱。
-F : 在每個文件名後面附上一個字符以說明該文件的類型,“*”表示可執行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目錄名稱]
常用選項:
cd .. 返回上一級目錄。
cd ../.. 將當前目錄向上移動兩級。
cd - 返回最近訪問目錄。
3.pwd命令
格式: pwd
功能:顯示出當前工作目錄的絕對路徑。
4.touch命令
格式:touch[選項] 文件名…
功能:touch命令參數可以更改文檔或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的文件。
常用選項:
-a 僅改變指定文件的存取時間。
-c 或–no-creat 不創建任何文件。
-m 僅改變指定文件的修改時間。
-d 使用指定的日期時間,而非現在的時間。
-f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。
5.mkdir命令
格式:mkdir [選項] dirname…
功能:mkdir命令用來創建目錄。
常用選項:
-p –parents 可以是一個路徑名稱。此時若路競爭的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
-m –mode=MODE 將新建目錄的存取權限設置爲MODE,存取權限用給定的八進制數字表示。
6.rm命令
格式:rm [選項] 文件列表
功能:rm命令刪除文件或目錄。
常用選項:
-f –force 忽略不存在的文件,並且不給出提示信息。
-r -R,–recursive 遞歸地刪除指定目錄及其下屬的各級子目錄和相應的文件。
-i 交互式刪除文件。
說明:rm命令刪除指定的文件,默認情況下,它不能刪除目錄。如果文件不可寫,則標準輸入是tty(終端設備)。如果沒有給出選項-f或者–force,rm命令刪除之前會提示用戶是否刪除該文件;如果用戶沒有回答y或者Y,則不刪除該文件。
7.rmdir命令
格式:rmdir [選項] dirname
功能:刪除目錄。
常用選項:
-p –parents 遞歸刪除目錄 dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除。如果有非空的目錄,則該目錄保留下來。
8.man 命令
格式:man [選項] 命令
功能:man命令格式化並顯示某一命令的聯機幫助手冊頁。
常用選項:
-k 根據關鍵字搜索聯機幫助。
num 只在第num章節找。
-a 將所有章節的都顯示出來。
說明:面手冊分爲8章:
1. 一般用戶的命令;
2. 系統調用;
3. C語言函數庫;
4. 有關驅動程序和系統設備的解釋;
5. 配置文件的解釋;
6. 遊戲程序的命令;
7. 有用的雜類命令,如宏命令包等;
8. 有關係統維護和管理的命令。
9.cp命令
格式:cp [選項] 源文件或目錄 目標文件或目錄
功能:複製文件或目錄。
常用選項:
-f –force 強行復制文件或目錄,不論文件或目錄是否已經存在。
-d 複製時保留文件鏈接。
-i –interactive覆蓋文件之前先詢問用戶。
-r 遞歸處理,將指定目錄下的文件與子目錄一併處理。若源文件或目錄的形態,不屬於目錄或符號鏈接,則一律視爲普通文件處理。
-R 或–recursive遞歸處理,將指定目錄下的文件及子目錄一併處理。
10.mv命令
格式:mv [選項] 源文件或目錄 目標文件或目錄
功能:mv命令對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。
常用選項:
-f force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋。
-i 若目標文件(destination)已經存在時,就會詢問是否覆蓋。
11.cat/tac命令
格式:cat [選項] [文件]
功能:查看目標文件的內容。
常用選項:
-b 對非空輸出行編號。
-n 對輸出的所有行編號。
-s 不輸出多行空行。
12.more命令
格式:more [選項] [文件]
功能:more命令顯示文件內容,每次顯示一屏。
常用選項:
-n 對輸出的所有行編號。
-s 將文件中連續的空白行壓縮成一個空白行顯示。
-num 這個選項制定一個整數,表示一屏顯示多少行。
q 退出more。
13.less命令
格式:less [參數] 文件
功能:less命令與more命令類似,但二者存在差別,less命令允許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。
常用選項:
-i 忽略搜索時的大小寫。
-N 顯示每行的行號。
14.head命令
格式:head [選項] [文件]
功能:head命令在屏幕上顯示指定文件的開頭若干行。
常用選項:
-c –bytes=[-]N 顯示每個文件前面N字節。
-n –lines=[-]N 顯示指定文件的前面N行。
15.tail命令
格式:tail [選項] [文件]
功能:用於顯示指定文件的末尾,不指定文件時,作爲輸入信息進行處理。常用查看日誌文件。
說明:tail命令從指定點開始將文件寫到標註輸出。使用tail命令的-f選項可以方便的查閱正在改變的日誌文件,tail -f filename會把filename裏最尾部的內容顯示在屏幕上,並且不斷刷新,使你看到最新的文件內容。
常用選項:
-f 循環讀取。
-n <行數> 顯示行數。
16.時間相關的命令
date顯示
date 指定格式顯示時間:date+%Y:%m:%d
date用法:date:date[OPTION]… [+FORMAT]
%H 小時(00..23)
%M 分鐘(00..59)
%S 秒(00..61)
%X 相當於%H:%M:%S
%d 日(01..31)
%m 月份(01..12)
%Y 完整年份(0000..9999)
%F 相當於%Y-%m-%d
時間戳
時間->時間戳:date+%s
時間戳->時間:Unix時間戳是從1970年1月1日開始所經過的秒數,不考慮閏秒。
17.cal命令
格式:cal [參數] [月份] [年份]
功能:用於查詢日曆等時間信息,如果只有一個參數,則表示年份(1-9999),如果有兩個參數,則表示月份和年份。
常用選項:
-3 顯示系統前一個月,當前月,下一個月的月曆。
-j 顯示在當年中的第幾天(一年日期按天算,從1月1日算起,默認顯示當前月在一年中的天數)。
-y 顯示當前年份的日曆。
18.find命令
格式:find pathname -options
功能:用於在文件樹種查找文件,並作出相應的處理(可能訪問磁盤)。
常用選項:
-name 按照文件名查找文件。
19.grep命令
格式:grep [選項] 搜尋字符串文件
功能:在文件中搜索字符串,將找到的行打印出來。
常用選項:
-i 忽略大小寫的不同,所以大小寫視爲相同。
-n 順便輸出行號。
-v 反向選擇,亦即顯出沒有‘搜尋字符串’內容的那一行。
20.zip/unzip命令
格式:zip 壓縮文件.zip 目錄或文件
功能:將目錄或文件壓縮成zip格式。
常用選項:
-r 遞歸處理,將指定目錄下的所有文件和子目錄一併處理。
21.tar命令
格式:tar [-cxtzjvf] 文件與目錄… 參數
功能:打包/解包,不打開它,直接看內容。
-c 建立一個壓縮文件的參數指令(create的意思)。
-x 解開一個壓縮文件的參數指令。
-t 查看tarfile裏面的文件。
-z 是否同時具有gzip的屬性?亦即是否需要用gzip壓縮?
-j 是否同時具有bzip的屬性?亦即是否需要用bzip壓縮?
-v 壓縮的過程中顯示文件。這個常用,不建議用在背景執行過程。
-f 使用檔名,請留意,在f之後要立即接檔名,不要再加參數。
-C 解壓到指定目錄。
22.bc命令
bc命令可以很方便的進行浮點運算。
23.uname -r命令
格式:uname [選項]
功能:uname用來獲取電腦和操作系統的相關信息。
常用選項:
-a 或-all 詳細輸出所有信息,依次爲內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱。

24.如何查找特定的文件

find ~ -name "target.java" :精確查找文件

find ~ -name "target*" : 模糊查找文件

find ~ -iname "target*" :不區分文件名大小寫去查找文件

man find :更多關於find指令的使用說明

25.檢索文件內容

grep 'partial\[true\]' bsc-ll.log :檢索出包含某字段的文件展示相關的行

grep -o 'engine\[[0-9a-z]*\]' :通過槓o選項選出符合正則表達式的字段

grep -v 'grep' :過濾包含相關字符串的內容

26.對文件內容做統計(對列進行操作)

awk ‘{print $1,$4}' net.txt :打印出第一列和第四列的數據

awk ’$1=="tcp" && $2==1{print $0}' net.txt :打印滿足第一列和第二列所有數據

awk '{enginearr[$1]++}END{for(i in enginearr)print i "\t" enginearr[i]}'

awk ’($1=="tcp" && $2==1) ||NR==1 {print $0}' net.txt 打印滿足第一列和第二列所有數據加表頭

awf -F ',' {print $2} net.txt : 以逗號作爲分割負

27.批量替換文本內容(對行進行操作)

sed -i 's/^Str/String/' ne.txt 將Str替換爲String

sed -i 's/\.$/\;/' ne.txt :將逗號替換爲分號

sed -i 's/Jack/me/g' ne.txt :將文本中所有jack改成me

sed -i '/inter/d' net.txt :刪除指定的行

三、Linux搭建環境

  • MySQL搭建常用命令

安裝:

  • 下載:yum install mysql -community -server
  • 解壓:tar -xvzf mysql-5.6.38-linux-glibc2.12-i686.tar.gz
  • 移動到指定目錄:mv mysql-5.6.38-linux-glibc2.12-i686/ mysql
  • 查看初始化密碼:cat /var/log/mysql.log | grep password

1.開啓和關閉

  • 開啓: service mysqld start
  • 關閉: service mysqld stop
  • 重啓: service mysqld restart

2.登錄

2.1.密碼明文

  語法:mysql -u用戶名 -p用戶密碼

  舉例:mysql -uroot -p123456

2.2.密碼密文

  語法:mysql -u用戶名 -p+回車,然後輸入密碼

  舉例:mysql -uroot -p  

3.修改密碼

3.1.SET PASSWORD命令(需登錄)

  • 語法:mysql> set password for 用戶名@localhost = password('新密碼');
  • 舉例:mysql>set password for root@localhost = password('123456');
  • 或者set password='新密碼';
  • 想設置簡單密碼提示錯誤解決方法:

3.2.使用sql語句更新 mysql 庫中的 user 表(需登錄)

  mysql> use mysql;

  mysql> update user set password=password('123') where user='root' and host='localhost';

  mysql> flush privileges;

3.3.mysqladmin命令,明文(不需登錄)

  語法:mysqladmin -u用戶名 -p舊密碼 password 新密碼

  舉例:mysqladmin -uroot -p123 password 123456

3.4.mysqladmin命令,密文(不需登錄)

  語法:mysqladmin -u用戶名 -p舊密碼 password+回車,然後輸入兩次新密碼

  舉例:mysqladmin -uroot -p123 password

4.常用操作(需登錄)

4.1.顯示數據庫列表

  show databases;

4.2.創建、刪除數據庫

  create database 數據庫名;

  drop database 數據庫名;

4.3.顯示庫中的數據表

  use mysql;

  show tables;

4.4.顯示數據表結構

  describe 數據表名;

5.導入、導出數據庫(不需登錄)

5.1.導出所有數據庫

  語法:mysqldump -u用戶名 -p密碼 --all-databases >導出路徑

  舉例:mysqldump -uroot -p123456 --all-databases >/tmp/all.sql

5.2.導出指定數據庫

  語法:mysqldump -u用戶名 -p密碼 --databases 數據庫名>導出路徑

  舉例:mysqldump -uroot -p123456 --databases testdatebase >/tmp/testdatebase.sql

5.3.導出指定數據庫的結構(無數據)

  語法:mysqldump -u用戶名 -p密碼 --no-data --databases 數據庫名>導出路徑

  舉例:mysqldump -uroot -p123456 --no-data --databases testdatebase >/tmp/testdatebase_no_data.sql

5.4.導出指定數據庫中的指定表

  語法:mysqldump -u用戶名 -p密碼 --databases 數據庫名 --tables 數據表名>導出路徑

  舉例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user >/tmp/testdatebase_user.sql

5.5.導出指定數據庫中的指定表的結構(無數據)

  語法:mysqldump -u用戶名 -p密碼 --no-data --databases 數據庫名 --tables 數據表名>導出路徑

  舉例:mysqldump -uroot -p123456 --no-data --databases testdatebase --tables t_user >/tmp/testdatebase_user_no_data.sql

5.6.導出指定數據庫中的指定表,設置查詢條件

  語法:mysqldump -u用戶名 -p密碼 --databases 數據庫名 --tables 數據表名 --where='條件'>導出路徑

  舉例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user --where='user_no=1'>/tmp/mysql_user_no.sql

5.7.跨服務器備份數據庫

  將 host1 服務器中的 db1 數據庫的所有數據導入到 host2 中的db2數據庫中,db2的數據庫必須存在否則會報錯

  (經測試,在mysql5.5版本中,db2存在即可,實際生成數據庫名稱與db1一致;加上-C參數可以啓用壓縮傳遞)

  語法:mysqldump --host=host1 -u用戶名 -p密碼 --databases db1 |mysql --host=host2 -u用戶名 -p密碼 --databases db2

  舉例:mysqldump --host=192.168.1.101 -uroot -p123456 -C --databases testdatebase |mysql --host=192.168.3.102 -uroot -p123456 --database testdatebase

5.8.通過 sql 文件導入數據庫

  語法:mysql -u用戶名 -p密碼 < 導入路徑

  舉例:mysql -uroot -p123456 < /tmp/testdatebase.sql

  • Nginx搭建
  1. 安裝 :yum install nginx
  2. 啓動 service nginx start /(restart)
  3. 停止:service nginx stop
  4. 重載:service nginx reload
  5. 搜索nginx進程是否啓動:ps -ef | grep nginx
  • 緩存服務

      memcached

  1. 安裝:yum install memcached
  2. 啓動:memcached -d -l -m -p
  3. 停止:kill pid

      Redis基本操作

  1. 源碼編譯安裝 
  2. 啓動:redis -server start/restart
  3. 停止:redis server stop
  4. 客戶端:redis -client

**

  • java安裝

**

  1. yum -y install java-1.8.0-openjdk*
  • Apache 基本操作
  1. 安裝:yum install httpd
  2. 啓動:service httpd start /restart
  3. 停止:service httpd stop
  4. 重載:service httpd load

四、Linux系統根目錄下各個目錄的作用

/bin 二進制可執行命令。該目錄下存放着普通用戶的命令

/dev 系統的設備文件,即設備的驅動程序

/home 存放用戶文件的主目錄,用戶數據

/lib 存放着和系統運行相關的庫文件

/mnt 存放臨時的映射文件,通常是一些用來安裝其他設備的子目錄

/boot 存放啓動linux的核心文件

/media 存放着可移除的設備,比如軟盤,光盤

/misc 儲存着一些特殊的字符的定義

/net 存放着和網絡相關的一些文件

/proc 存放着用戶與內核的交互信息

/sbin 系統的管理命令,這裏存放的是系統管理員使用的程序

/srv 系統啓動服務時可以訪問的數據庫目錄

/tmp 臨時文件,重啓後自動清空

/var 存放系統產生的經常變化的文件

/etc 系統所有的配置文件都在這個目錄中

/opt (option : 自由選擇)主要給源碼安裝軟件時選擇的安裝目錄位置

/root 超級用戶的目錄

/selinux 主要用來加固操作系統,提高系統的安全性

/sys 管理設備文件

/usr 最大的目錄,存放着應用程序和文件

/lost-found 這個目錄平時是空的,當系統非正常關機而留下的“無家可歸”的文件便會儲存在這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章