Linux中常用操作命令


ref:ttps://mp.weixin.qq.com/s_biz=MzI4Njg5MDA5NA==&mid=2247484231&idx=1&sn=4cf217a4d692a7aba804e5d96186b15b&chksm=ebd74246dca0cb5024de2f1d9f9e2ecb631e49752713c25bbe4 4f44856e919df5a973049c189#rd

     http://www.jb51.net/article/98513.htm

     https://blog.csdn.net/qq_34620589/article/details/70268148

一、常用的文件、目錄操作命令

這是我們使用得最多的命令了,Linux最基礎的命令

  • 可用  pwd命令查看用戶的當前目錄

  • 可用 cd 命令來切換目錄

  • .表示當前目錄

  • .. 表示當前目錄的上一級目錄(父目錄)

  • -表示用 cd 命令切換目錄所在的目錄

  • ~ 表示用戶主目錄的絕對路徑名

絕對路徑:

  • 以斜線(/)開頭 ,描述到文件位置的完整說明 ,任何時候你想指定文件名的時候都可以使用

相對路徑 :

  • 不以斜線(/)開頭 ,指定相對於你的當前工作目錄而言的位置 ,可以被用作指定文件名的簡捷方式

tips:輸入命令的時候要常用tab鍵來補全

  • ls:顯示文件或目錄信息

  • mkdir:當前目錄下創建一個空目錄

  • rmdir:要求目錄為空

  • touch:生成一個空文件或更改文件的時間

  • cp:復制文件或目錄

  • mv:移動文件或目錄、文件或目錄改名

  • rm:刪除文件或目錄

  • ln:建立鏈接文件

  • find:查找文件

  • file/stat:查看文件類型或文件屬性信息

  • cat查看文本文件內容

  • more可以分頁看

  • less不僅可以分頁,還可以方便地搜索,回翻等操作

  • tail -10: 查看文件的尾部的10行

  • head -20:查看文件的頭部20行

  • echo:把內容重定向到指定的文件中 ,有則打開,無則創建

  • 管道命令 | :將前面的結果給后面的命令,例如:ls -la | wc,將ls的結果加油wc命令來統計字數

  • 重定向 > 是覆蓋模式,>> 是追加模式,例如:echo "Java3y,zhen de hen xihuan ni" > qingshu.txt把左邊的輸出放到右邊的文件里去

二、文件打包和壓縮命令

  

  

壓縮的方式也是有好幾種,我們常用的有下面這三種:

  • gzip

  • bzip2

  • tar

常用的壓縮的命令就有:

  • gzip filename

  • bzip2 filename

  • tar -czvf filename

常用的解壓命令有:

  • gzip -d filename.gz

  • bzip2 -d filename.bz2

  • tar -xzvf filename.tar.gz

 三、正則表達式+grep

1、正則表達式

        

  

2、grep命令

  grep(global search regular expression)是一個強大的文本搜索工具。grep 使用正則表達式搜索文本,並把匹配的行打印出來。

  格式:grep [options] PATTERN [FILE...]

  • PATTERN 是查找條件:可以是普通字符串、可以是正則表達式,通常用單引號將RE括起來。

  • FILE 是要查找的文件,可以是用空格間隔的多個文件,也可是使用Shell的通配符在多個文件中查找PATTERN,省略時表示在標准輸入中查找。

  • grep命令不會對輸入文件進行任何修改或影響,可以使用輸出重定向將結果存為文件

例子:

  • 在文件 myfile 中查找包含字符串 mystr的行 

    grep -n mystr myfile 

  • 顯示 myfile 中第一個字符為字母的所有行 

    grep  '^[a-zA-Z]'  myfile 

  • 在文件 myfile 中查找首字符不是 # 的行(即過濾掉注釋行) 

    grep -v '^#' myfile 

  • 列出/etc目錄(包括子目錄)下所有文件內容中包含字符串“root”的文件名

    grep -lr root /etc/* 

四、系統管理命令

  stat              顯示指定文件的詳細信息,比ls更詳細

  who               顯示在線登陸用戶

  whoami          顯示當前操作用戶

  hostname      顯示主機名

  uname           顯示系統信息

  top                動態顯示當前耗費資源最多進程信息

  ps                  顯示瞬間進程狀態 ps -aux

  du                  查看目錄大小 du -h /home帶有單位顯示目錄信息

  df                  查看磁盤大小 df -h 帶有單位顯示磁盤信息

  ifconfig          查看網絡情況

  ping                測試網絡連通

  netstat          顯示網絡狀態信息

  man                命令不會用了,找男人  如:man ls

  clear              清屏

  alias               對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

  kill                 殺死進程,可以先用ps 或 top命令查看進程的id,然后再用kill命令殺死進程。

五、遠程登錄與NFS

  Telnet是Internet提供的一項基本服務,用來將本地計算機作為遠程計算機的終端機使用。 

  telnet 主機名或IP地址 

  exit或logout命令退出 

  telnet以明文傳輸不安全,因此禁止root身份登錄 

  SSH 主機名或IP地址 //作為telnet的替代,以公開密鑰算法加密數據,允許root登錄

  scp 本地文件路徑 遠程用戶名@主機:文件路徑 //用於本地與遠程計算機之間安全拷貝文件 如: 

    scp z3@202.207.30.136:a.txt

  sftp 遠程用戶名@主機 //以安全模式進入ftp狀態,此時可執行該狀態下的命令: 

  get 遠程路徑 本地路徑 //下載 

  put 本地路徑 遠程路徑 //上傳 

  quit 退出 

  ? //列出該狀態可使用的命令清單,其中不少同Linux Bash命令如mkdir、cd、ls等,都是針對被登錄機操作,若對本地機操作,則在命令前加字母l,如lmkdir、lls等

  NFS(Network File System):通過網絡將遠程主機的文件系統掛載到本地主機目錄下,以便於使用,它基於客戶機/服務器模式,建立在TCP/IP協議的表示層協議與會話層協議機制之上。

六、vim程序編輯器

  vim是vi文本編輯器的進階版,在所有linux系統上均可使用,被稱為“編輯器之神”。

  vi分為三種模式:一般模式,編輯模式和指令列命令模式 

  vi hello.c //進入hello.c文件,此時為一般模式,若hello.c不存在則自動新建 

  一般模式下執行vi定義的鍵盤上轉義字符操作,del為刪除光標上字符,dd為刪除一整列,退格鍵及上下左右鍵移動光標,i進入插入光標前編輯模式,a進入插入光標后編輯模式,r進入改寫編輯模式; 

  編輯模式下鍵盤上所有按鍵除ESC外都可輸入字符,如上下左右鍵分別代表ABCD大寫字母,按ESC退出編輯;

  在一般模式下按:進入指令列模式,最下面一行為指令列,wq保存並退出。

七、gcc編程

  gcc中庫的鏈接順序是從右往左進行,所以要把最基礎實現的庫放在最后,這樣左邊的lib就可以調用右邊的lib中的代碼。同時,當一個函數的實現代碼在多個lib都存在時,最左邊的lib代碼最后

link,所以也將最終保存下來。

  objdump -T libmysqlclient.so //打開當前目錄下的動態鏈接庫libmysqlclient.so查看其中的API。objdump命令用來查看各種目標文件(elf文件)內部的結構 

  obidump -h hello.o //參數-h把hello.o各個段的基本信息打印出來,elf文件是分段的,通常分為Header、.data(數據段包括局部靜態變量和全局變量)、.text(代碼

)、.rodata、.bss、.comment等 

  readelf -s hello.o //查看詳盡段信息 

  gcc錯誤:undefined reference to function 該函數具體實現沒有找到 

  info gcc //顯示gcc的所有信息

八、mysql操作

  SQL:Structured Query Language 

  netstat -tap|grep mysql //檢查系統有沒有已安裝mysql,若socket顯示listen則表示就緒。 

  mysql中unique key(唯一鍵)指除主鍵外確保某一列唯一性的約束,該列可包含NULL(空值);primary key為主鍵

  apt-get install mysql-server //安裝mysql 

  mysql -u root -p //以root用戶登錄mysql server,之后需輸入密碼 

  show databases; show tables; //查看數據庫和數據表單,注意在mysql server中輸入指令以;結尾。 

  use mysql; //使用數據庫mysql也可以在登錄時輸入指令: 

  mysql -D mysql -u root -p 

  quit; //退出 

  insert into students(id,name,sex) value(1,zhengfeng,man); //向students表中插入zhengfeng的信息 

  select * from students //輸出students的所有信息,*是通配符,可指定為列名稱

  1.   create table students(
  2.   id int(8) not null auto_increment,
  3.   name varchar(255) not null,
  4.   sex char(4) not null,
  5.   tel char(13) not null default “-”,
  6.   primary key(id),
  7.   unique key unique_name(name)
  8.   );  

  describe students //輸出表結構信息 

  mysql_config --libs //使用mysql_config工具確定MySql程序的鏈接參數,同理,若需確定編譯參數,使用mysql_config –include

九、redis操作

  注:redis是一個高性能的key-value數據庫,由ANSI C編寫,支持網絡,它支持的value類型包括string、list(字符串鏈表)、set(字符串集合)、zset(字符串有序集合)、hash(字符串哈希類型)。 
  競態條件和原子操作的概念:

  原子操作指該命令在執行過程中不會被其他插入命令打斷,是“一氣呵成”的; 

  競態條件:指一個系統或進程的輸出,依賴於不受控制事件出現的順序或時機,若多個客戶端連接到redis,同時執行多項命令時有可能出現競態條件,關於此問題的深入討論在《鏈接、裝載和庫》中詳細提及。

  apt-get install redis-server //安裝redis 

  netstat -nlt grep|6379 //查看系統中redis運行狀態,listen為就緒

  redis-cli //進入redis命令行客戶端,cli:command line interface 此為進入交互模式,可自由輸入命令。 

  select 1 //選擇1號數據庫,redis實例默認自帶16個數據庫,以數字編號,可通過配置文件更改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM