Linux經常使用命令和環境搭建

1、Linux權限的概念

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

  • 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

2、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 詳細輸出全部信息,依次爲內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操做系統名稱。mysql

24.如何查找特定的文件linux

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

find ~ -name "target*" : 模糊查找文件正則表達式

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

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

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 :刪除指定的行

3、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

4、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 這個目錄平時是空的,當系統非正常關機而留下的「無家可歸」的文件便會儲存在這裏

相關文章
相關標籤/搜索