Linux最簡單基礎(chǔ)的常用命令,掌握這些命令就可簡單使用Linux系統(tǒng)。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了路北免費建站歡迎大家使用!
Linux中的目錄即為Windows中常說的文件夾,不同層級之間以 / 分隔,如 /home/cooper/Desktop/working ;而Windows采用 \ 分隔,如 C:\Users\cooper\Desktop\MyScripts 。
Linux中文件擴展名僅起標識作用,而不像Windows系統(tǒng)中是必備的。Linux中常見可編輯文件類型均為文本文件,可使用文本編輯器直接編輯。Windows文件的換行符采用 \r\n ,而Linux文件的換行符采用 \n ,當在Linux中無法執(zhí)行Windows文件時,可嘗試 dos2unix filename 轉(zhuǎn)換文件的換行符。
Linux中以 . 開頭命名的文件為隱藏文件,一般為配置文件或配置目錄,如 ~/.bashrc 為用戶的BASH配置文件, ~/.vim/ 目錄存放VIM編輯器的配置文件。如果不清楚這些文件目錄的含義,不要擅自修改這些隱藏文件。
絕對路徑與相對路徑:絕對路徑是指從根目錄開始的目錄路徑,而相對路徑是指相對于當前目錄的目錄路徑。下述所有關(guān)于目錄和文件的操作均可使用絕對路徑和相對路徑。
Linux中文件與目錄名建議以小寫英文字母開始,中間可使用 _ 、 - 、 . 、穿插大小寫字母及數(shù)字等方式進行分割標記。
Note :大多數(shù)情況下,如果一個目錄名為'dirname',那么 dirname 與 dirname/ 均可作為目錄名使用。
進入系統(tǒng)后,首先要進入一個目錄。Linux中最常用的目錄切換命令為 cd ,即change directory的縮寫,其常見用法包括:
Note : cd - 只能單獨使用
打印當前目錄內(nèi)容的命令為 ls ,即list的縮寫,常見用法包括:
進入層級關(guān)系復(fù)雜的目錄后,有時需要確認當前目錄是否為想要進入的目錄,此時可以通過打印當前目錄路徑進行確認。 pwd 命令,即print working directory的縮寫,其使用直接在命令行鍵入即可。
cp 命令為拷貝或拷貝重命名,copy的縮寫。 mv 命令為移動或移動重命名,move的縮寫。這兩個命令都支持對目錄或文件的操作,常見用法如下:
Note :不論是 cp 還是 mv ,當目標文件名或目標目錄名與原文件或原文件名一致時,目標文件或目標目錄將會被原文件或目錄覆蓋。例如:
文件和目錄的創(chuàng)建可分別使用 touch 、 mkdir 命令,常用操作如下:
Note :
rm 命令,即remove的縮寫,用于刪除文件或目錄。常用操作如下:
Note :
Tab 鍵可用于命令、文件名、目錄名、變量名等補全,該命令人畜無害,記不清上述名稱時按 Tab ,一次不夠多按幾次即可。如果沒有出現(xiàn)想要的內(nèi)容,檢查已鍵入的命令或名稱。
Linux系統(tǒng)中難免要使用VIM編輯器進行文本編輯,最簡單的使用方法為:
最簡單的VIM編輯器使用就是進入編輯模式編輯,最后進入底線命令模式退出。
顯示所有的環(huán)境變量,如果你想獲取某個變量的詳細信息,使用 echo $VARIABLE_NAME .
Example:
whereis使用系統(tǒng)自動構(gòu)建的數(shù)據(jù)庫來搜索可執(zhí)行文件,源文件和手冊頁面。
Example:
它在環(huán)境變量PATH指定的目錄中搜索可執(zhí)行文件。此命令將打印可執(zhí)行文件的完整路徑。
Example:
清除窗口上的內(nèi)容。
列出您的文件。 ls 有很多選項: -l 列出“長格式”的文件,其中包含文件的確切大小,擁有該文件的人員,有權(quán)查看該文件,以及何時進行上次修改。 -a 列出所有文件,包括隱藏文件。有關(guān)此命令的更多信息,請檢查此鏈接。
Example:
創(chuàng)建或更新您的文件。
Example:
它可以在UNIX或Linux下用于以下目的。
顯示文件的第一部分(用空格移動并鍵入q以退出)。
輸出文件的前10行。
輸出最后10行文件。用于-f在文件增長時輸出附加數(shù)據(jù)。
將文件從一個位置移動到另一個位置。
filename1 文件的源路徑, filename2 是目標路徑。
將文件從一個位置復(fù)制到另一個位置。
filename1 文件的源路徑, filename2 是目標路徑。
刪除文件。在目錄上使用此命令會給您顯示一個錯誤: rm: directory: is a directory 。 為了刪除目錄,你必須傳遞 -rf 去遞歸刪除目錄中的所有內(nèi)容。
比較文件,并列出他們的差異。
讓您更改文件的讀取,寫入和執(zhí)行權(quán)限。
壓縮文件。
解壓縮gzip壓縮的文件。
讓你查看gzip壓縮文件,而不需要gunzip它。
打印文件。
查看打印機隊列。
Example:
從打印隊列移除某些內(nèi)容。
awk是處理文本文件最有用的命令。它一行一行地在整個文件上運行。默認情況下,它使用空格分隔字段。awk命令最常用的語法是
讓我們采取以下文件 /etc/passwd 。以下是此文件包含的示例數(shù)據(jù):
所以現(xiàn)在讓我們從這個文件只獲取用戶名。 -F 指定在我們要基于哪個分隔字段。在我們的例子中 : 。 { print $1 } 意味著打印出第一個匹配字段。
運行上述命令后,您將獲得以下輸出。
有關(guān)如何使用 awk 的更多細節(jié),請查看以下鏈接。
查找文件內(nèi)的文本。您可以使用grep搜索與一個或多個正則表達式匹配的文本行,并僅輸出匹配的行。
Example:
您還可以通過使用 -i 選項強制grep忽略單詞大小寫。 -r 可用于搜索指定目錄下的所有文件,例如:
-w 只搜索單詞。有關(guān) grep 詳細信息,請查看以下鏈接。
告訴你一個文件中有多少行,多少單詞和多少字符。
Example:
7459 是行數(shù), 15915 是單詞數(shù), 398400 是字符數(shù).
用于過濾和轉(zhuǎn)換文本的流編輯器。
example.txt
用連字符替換所有空格
使用"d"替換所有的數(shù)字
排序文本文件的行
example.txt
sort example.txt
隨機化一個排序的example.txt
報告或省略重復(fù)的行
example.txt
只顯示example.txt的唯一行(首先你需要排序,否則看不到重疊)
顯示每行的唯一項,并告訴我找到了多少個實例
從每行文件中刪除部分。
example.txt
顯示第2,7和9欄的空格作為分隔符
顯示一行文字
顯示 "Hello World"
用字母之間的換行顯示 "Hello World"
簡單的最佳文本格式化程序
example: example.txt (1 line)
將example.txt的行輸出為20個字符的寬度
翻譯或刪除字符
example.txt
把所有小寫字母變成為大寫
把所有的空格變成換行符
顯示文件的行數(shù)
example.txt
帶行號顯示 example.txt
打印匹配模式的行 - 擴展表達式(別名為:'grep -E')
example.txt
在其中顯示“Lorem”或“dolor”的行
打印匹配模式到的行 - FIXED模式匹配(別名為:'grep -F')
example.txt
在example.txt中找到具體的字符串'(Lorem | doloar)'
生成一個新的目錄。
執(zhí)行這個,從一個目錄轉(zhuǎn)移到另外一個目錄。
將你移動到主目錄。此命令接受可選的 dirname ,將你移動到該目錄。
告訴你你目前所在的目錄。
ssh (SSH client) 是一個用來在登錄到遠程機器并執(zhí)行的命令的程序。
此命令還接受 -p 可用于連接到特定端口的選項。
返回當前登錄用戶名。
允許當前登錄的用戶更改其密碼。
顯示您的磁盤配額。
顯示當前日期和時間。
顯示月份的日歷。
顯示當前的正常運行時間。
顯示誰在線
Displays information about user.
顯示內(nèi)核信息。
顯示指定命令的手冊。
顯示磁盤使用情況。
顯示文件名中文件和目錄的磁盤使用情況(du -s只給出一個總數(shù))。
列出您最后登錄的指定用戶。
列出您的進程。
使用您所提供的ID殺死(結(jié)束)進程。
用名稱殺死所有進程。
顯示當前活動的進程。
列出停止的或后臺工作的Job; 恢復(fù)在后臺停止的Job。
前臺化最近的Job。
Brings the most recent job in the foreground.
Pings主機并輸出結(jié)果。
獲取域的whois信息。
獲取域的DNS信息。
下載文件。
在本地主機和遠程主機之間或兩臺遠程主機之間傳輸文件。
從本地主機復(fù)制到遠程主機
從遠程主機復(fù)制到本地主機
此命令還接受 -P 選項可用于連接到特定的端口。
在bash中你將編寫第一行腳本文件,被叫做 shebang 。任何腳本中的這一行來確定腳本的執(zhí)行能力,如獨立的可執(zhí)行文件,而不是在終端中預(yù)先鍵入sh,bash,python,php等。
Example:
上面的一行創(chuàng)建一個變量str并給它賦值“hello world”。通過 $ 放在變量名的開頭來檢索變量的值。
Example:
像其他語言一樣,bash也有數(shù)組。數(shù)組是包含多個值的變量。數(shù)組的大小沒有最大限制。bash中的數(shù)組為零。第一個元素被索引為元素0.在bash中創(chuàng)建數(shù)組有幾種方法。以下給出了哪些。
Examples:
要在特定索引處顯示值,請使用以下語法:
如果沒有提供索引,則假定為數(shù)組元素0。要了解數(shù)組中有多少值,請使用以下語法:
Bash也支持三元條件。下面是一些例子。
檢查一些關(guān)于如何操作字符串的語法
Example:
當您運行上述示例時,該hello函數(shù)將輸出“world!”。上述兩個功能 hello 和 say 是相同的。主要區(qū)別是功能 say 。此功能打印其接收到的第一個參數(shù)。函數(shù)內(nèi)的參數(shù)以與給腳本的參數(shù)相同的方式進行處理。
bash中的條件語句與其他編程語言相似。條件有許多形式,如最基本的形式是 if 表達式 then 語句,其中語句只有在表達式為真時執(zhí)行。
有時,如果條件變得混亂,所以你可以使用相同的條件 case statements 。
Expression Examples:
bash 中有三種不同類型的循環(huán)。 for , while 和 until .
for 語法:
while 語法:
until 語法:
bash_profile 可以通過運行后面的命令打開。 nano ~/.bash_profile
nano ~/.bashrc
source ~/.bashrc
cd hotellogs
您可以通過傳遞不同的選項來輕松地調(diào)試bash腳本bash。例如-n,不會運行命令并僅檢查語法錯誤。-vecho命令在運行它們之前。-x命令行處理后的echo命令。
Bash,Unix
shell的一種,在1987年由布萊恩·??怂篂榱薌NU計劃而編寫。1989年發(fā)布第一個正式版本,原先是計劃用在GNU操作系統(tǒng)上,但能運行于大多數(shù)類Unix系統(tǒng)的操作系統(tǒng)之上,包括Linux與Mac
OS X v10.4都將它作為默認shell。
Bash是一個命令處理器,通常運行于文本窗口中,并能執(zhí)行用戶直接輸入的命令。Bash還能從文件中讀取命令,這樣的文件稱為腳本。和其他Unix
shell
一樣,它支持文件名替換(通配符匹配)、管道、here文檔、命令替換、變量,以及條件判斷和循環(huán)遍歷的結(jié)構(gòu)控制語句。包括關(guān)鍵字、語法在內(nèi)的基本特性全部是從sh借鑒過來的。其他特性,例如歷史命令,是從csh和ksh借鑒而來??偟膩碚f,Bash雖然是一個滿足POSIX規(guī)范的shell,但有很多擴展。
Shell 是一種命令行解釋器, 其讀取用戶輸入的字符串命令, 解釋并且執(zhí)行命令;它是一種特殊的應(yīng)用程序, 介于系統(tǒng)調(diào)用/庫與應(yīng)用程序之間, 其提供了運行其他程序的的接口;它可以是交互式的, 即讀取用戶輸入的字符串;也可以是非交互式的, 即讀取腳本文件并解釋執(zhí)行, 直至文件結(jié)束. 無論是在類 UNIX, Linux 系統(tǒng), 還是 Windows, 有很多不同種類的 Shell: 如類 UNIX, Linux 系統(tǒng)上的 Bash, Zsh 等; Windows 系統(tǒng)上的 cmd, PowerShell 等.
Bash 是 Bourne Again SHell 的縮寫, 是 GNU 計劃中的 Shell, 也是一些類 UNIX 系統(tǒng)與多數(shù) Linux 發(fā)行版的默認 Shell
使用Shell可以實現(xiàn)對Linux系統(tǒng)實現(xiàn)絕大部分的管理,例如:
#獲取當前時間
[root@CentOS7 ~]# date
Mon Mar 15 22:59:47 CST 2021
#創(chuàng)建文件
[root@CentOS7 opt]# touch xcz
[root@CentOS7 opt]# ll
-rw-r--r--. 1 root root 0 Mar 15 23:01 xcz
#創(chuàng)建一百個文件,我們一般就會使用shell script進行創(chuàng)建
[root@CentOS7 opt]# cat touch.sh
#!/bin/bash
for n in `seq 100`;do
touch xcz$n
echo "文件xcz$n創(chuàng)建成功哦!"
done
[root@CentOS7 opt]# sh touch.sh
命令行輸入方式:效率較低,適用于工作量不大的工作;
shell script 腳本方式:效率高,適用于工作量大且復(fù)雜的工作。
[root@CentOS7 opt]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
'#39; = 普通用戶
'#' = root用戶(超級管理員)
#查看當前用戶
[root@CentOS7 ~]# whoami
root
#查看當前命令提示符
[root@CentOS7 ~]# echo $PS1
[u@h W]$
root:當前系統(tǒng)的用戶
CentOS7:當前系統(tǒng)的主機名
~:當前所在的位置
#:超級管理員身份(root用戶)
$:普通用戶
提示符參數(shù)及含義
d :代表日期;
H :完整的主機名稱
h :僅取主機名中的第一個名字
:顯示時間為24小時格式,如:HH:MM:SS
T :顯示時間為12小時格式
A :顯示時間為24小時格式:HH:MM
u :當前用戶的賬號名稱
v :BASH的版本信息
w :完整的工作目錄名稱
W :利用basename取得工作目錄名稱,只顯示最后一個目錄名
# :下達的第幾個命令
$ :提示字符,如果是root用戶,提示符為 "#" ,普通用戶則為 "#34;
#顏色
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
PS1='[e[32;40m] [[u@h w ]$ [e[0m]'
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@h [e[36;40m]w[e[0m]]$ "
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#提示符的應(yīng)用
[root@CentOS7 ~]# vi .bashrc
#最后一行下面添加
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#使用source生效
[root@CentOS7 ~]# source .bashrc
#命令 選項 參數(shù)
command [-options] [arguments]
[root@CentOS7 ~]# ls -l /opt/
#命令:整條shell命令的主體
#選項:用于調(diào)節(jié)命令的具體功能
#以'-'引導段個事選項(單個字符),例如”-l“
#以'--'引導長格式選項(多個字符),例如”--list“
#多個短格式選項可以卸載一起,只用一個”-“引導,例如”-la“
#參數(shù):命令操作與偶的對象,如文件、目錄名等
#命令必須開頭,選項和參數(shù)位置可以發(fā)生變化
我們在使用Linux系統(tǒng)進行查找一個多層級的文件時,我們可以使用鍵盤上的Tab鍵進行快速補全
補全的形式有:
#如果我們忘記網(wǎng)絡(luò)配置文件具體路徑,那么我們就可以使用補全的形式進行配置
[root@CentOS7 ~]# vi /etc/sysconfig/
anaconda cpupower grub irqbalance modules/ rdisc selinux
authconfig crond init kdump netconsole readonly-root sshd
cbq/ ebtables-config ip6tables-config kernel network rsyslog wpa_supplicant
console/ firewalld iptables-config man-db network-scripts/ run-parts
[root@CentOS7 ~]# vi /etc/sysconfig/network
network network-scripts/
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/if
ifcfg-ens33 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-
ifcfg-ens33 ifcfg-lo
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
#如果你的Linux系統(tǒng)無法進行補全,那么咱們可以安裝一個擴展包即可
[root@CentOS7 ~]# yum install -y bash-completion
clear #或者用快捷鍵 ctrl + l
ctrl+c #有些程序也可以用q鍵退出
ctrl+z # 進程會掛起到后臺
bg jobid # 讓進程在后臺繼續(xù)執(zhí)行
fg jobid # 讓進程回到前臺
Ctrl鍵+a #將當前光標移動到命令行的行首
Ctrl鍵+e #將當前光標移動到命令行的行尾
Ctrl鍵+u #將當前光標之前的所有字符剪切
Ctrl鍵+k #將當前光標之后的所有字符剪切
Ctrl鍵+w #將當前光標之前的字符剪切,以空格為結(jié)尾
Ctrl鍵+d #退出當前會話窗口
Ctrl鍵+z #將當前前臺運行的程序,放到后臺運行
Ctrl鍵+r #搜索 歷史 命令
Ctrl鍵+y #粘貼剪切板上的內(nèi)容
Ctrl鍵+左右方向鍵 #向指定的方向鍵移動一組字符,以空格為分隔符
ESC鍵+. #使用上一條命令的最后的參數(shù)或者路徑,以空格為分隔符,空格之后的內(nèi)容,delete鍵 從前往后刪除一個字符
!命令 #執(zhí)行最近的一次以該命令為開頭的命令
!! #執(zhí)行上一條命令
#使用格式:
[命令] + [--help] 或者[man] + [命令] 即可
#例如touch命令幫助
[root@CentOS7 ~]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help:
For complete documentation, run: info coreutils 'touch invocation'
分享名稱:linux命令bash linux命令bak
當前地址:http://redsoil1982.com.cn/article26/doojjjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計公司、Google、品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)