Linux终端命令
Linux終端命令
?
1.終端命令的使用技巧
ctrl+shift+(+/=) ? ?其實就是ctrl+“+” ?放大終端界面字體;
ctrl+- 縮小終端字體;
tab? 自動補全(注意,Linux是區分字母大小寫的) ,雙擊tab的話,會根據你輸入的首字母進行匹配查看有哪些內容;
ctrl+c 開啟一行,重新輸入命令;
?
?
2.終端命令的格式
2.1 格式
command ? -options ? parameter
command ?:命令名字;
-options ?:選項,可用來對命令進行控制,也可以省略
parameter:傳給命令的參數,可以是0,一個,多個;
?
2.2 兩種方式查看命令幫助信息
command --help
說明:顯示command命令的幫助信息;
man command
查看命令的使用手冊,使用q退出這個幫助信息;
?
?
3.Linux中最常用的七個命令
3.1查看文件夾下的文件:
| 序號 | 命令 | 對應英文 | 作用 |
| 01 | ls | list | 列出文件夾下的所有的文件 |
| 02 | pwd | print work dirctiory | 查看當前所在目錄 |
| 03 | cd xxx | change dirctiory | 切換目錄 |
| 04 | touch xxx | touch | 摸一下就創建了一個文件 |
| 05 | mkdir xxx | make directory | 創建目錄 |
| 06 | rm xxx | remove | 刪除指定的文件名 |
| 07 ? ? | clear | clear | 清屏 |
?
4.目錄相關的命令
4.1ls命令的擴展
ls -a
查看所有的文件 -a 就是all的意思;
-a 也能查看隱藏文件(.開頭的文件)
. 表示當前目錄
.. 表示上級目錄 ?例如:cd .. ?切換到上級目錄
ls -l
顯示文件的詳細信息,例如:? ? ?
-rwxrw-rw- 1 zq zq 22940380 Oct 19 07:47 sougou.deb
?
ls -l -h 可以簡寫成 ls -lh ? 也可ls -lha 顯示所有的文件信息:
-h和-l配合使用,人性化的顯示文件大小;
-rwxrw-rw- 1 zq zq ?22M Oct 19 07:47 sougou.deb
就可以看到文件的大小22M;
?
ls通配符的使用
如果文件中的文件特別多是就要使用通配符了
* ?可以代碼任意字符
? 問號,可以代表一字符,用法和*是一樣的;
ls -a* ? ?列出以a開頭的所有文件;
ls -*b ? ?列出所有已b結尾的所有文件;
ls -*c* ?列出所有中包含c的文件;
?
4.2cd切換目錄
| 命令 | 說明 |
| cd | 切換到當前用戶的主目錄(/home/用戶目錄) |
| cd ~ | 切換到當前用戶的主目錄(/home/用戶目錄) |
| cd . | 保持當前目錄不變 |
| cd .. | 切換到上級目錄 |
| cd - | 在最近的兩個目錄中來回切換 |
| cd ~/xxx | 快速的切換到了home/xxx目錄 |
?
5.創建和刪除
5.1?touch命令
如果文件不存在的話,就會創建一個空白的文件;
如果文件存在的話,會修改一下文件的最后修改信息;
5.2 mkdir -p
創建目錄
mkdir aa ?會創建一個aa文件夾
mkdir -p 創建多級文件夾
mkdir -p aa/bb/cc/dd ?創建多級文件夾;
ps:在同一目錄下,文件夾和文件名字是不能相同的;
5.3 rm刪除命令
rm是直接從磁盤中干掉的,是不能恢復的;不進回收站(只能干掉文件,不能干掉文件夾)
rm -r ?可以刪除多級目錄(包含文件和文件夾)
rm -f 強制刪除,忽略錯誤,不提示;
?
6.拷貝和移動文件
6.1 tree
查看目錄層級關系
使用tree ~ ?查看home下的目錄結構
tree -d ?只顯示文件夾,不顯示文件;
?
6.2 cp命令 拷貝文件
cp 就死copy的簡寫
cp 路徑/文件名 ?路徑 ? ?就可以拷貝文件了; ?即使文件存在也是直接覆蓋的;
?
cp -i ? 復制文件的時候會檢查是否文件存在,會有提示需要覆蓋嗎?
cp -r ?復制目錄;
?
6.3 mv命令
mv就是move的縮寫
mv xxx1 xxx2 ?將xxx1移動到xxx2中;
但是在移動的時候可能會存在文件的覆蓋,和要加一個 -i 進行提示,有沒有文件覆蓋;
?
mv命令也可以重名明一個文件或者文件目錄,把aaa 命名為bbb;
zq@ubuntu:~/Desktop$ mv ./aaa ./bbb
zq@ubuntu:~/Desktop$ mv ./aaa.txt ./bbb.txt
?
?
7.文件內容的終端命令
7.1 cat ? ? ?concatenate的縮寫 ? 查看文件內容,一次加載完成
7.2 more ? 查看文件內容,內容過多,分次顯示;
cat 命令的擴展:
cat -b ? 輸出行號,不會輸出空行的行號;
cat -n ? 所以行的行號(包括空行)
?
7.3 grep搜索文本內容:在文件11.txt中搜索hello字符串
grep hello 11.txt
顯示hello內容的行號:
grep -n hello 11.txt
顯示不包含hello內容的行:
grep -v hello 11.txt
忽略大小寫搜索:
grep -i hello 11.txt ? ? grep -i "hello python" 11.txt
?
模式搜索:
行首匹配:^
例如:搜索以f為行首的:grep ^f 11.txt
? ? ? ? ? ?顯示行號:grep -n ^f 11.txt
行尾匹配:$
例如:以k結尾的行 ? grep k$ 11.txt
? ? ? ? ? ?顯示行號:grep -n k$ 11.txt
?
8.其他命令
8.1 echo?
echo 會在終端中顯示參數 指定的文字,通常會和重定向聯合使用
例如:zq@ubuntu:~/Desktop$ echo helloPython > log.txt
?
8.2 重定向 > 和 >>
Linux允許將命令執行的結果 重定向 到一個文件中;
將本該輸出顯示在終端上的內容 輸出追加到指定的文件中;如果文件不存在會創建,存在會覆蓋;
如果使用>>不會覆蓋而是追加;
例如:zq@ubuntu:~/Desktop$ ls -lh > log.txt
?
> ?表示輸出,會覆蓋文件的原有的內容
>> ?表示追加,會將內容追加到已經有的內容的末尾;
?
8.3 關機/重啟
shutdown ? ? ? ? ? ? ? ? 默認一分鐘后關機
shutdown ?now ? ? ? ? ? ? ?立刻關機
shutdown -c ? ? ? ? ? ? 取消關機
shutdown -r ? ? ? ? ? ? 重啟電腦(在實際開發中都是重啟,沒有關機,不然誰幫你啟動電腦啊)
shutdown -r now ? ? ? ? ? ?立刻重啟電腦
?
8.4 ifconfig ?查看網卡信息
直接在終端輸入ifconfig
也可以通過管道過濾下ip信息: ifconfig | grep inet
ps:127.0.0.1 被稱為本地回環/回環地址,一般用來測試本機網卡是否正常;
8.5 ping
檢測到目標主機是否連接正常;
ping xxx
測試下本地網卡是否正常 ping 127.0.0.1?
ps:Linux終端程序中想要終止一個程序,絕大多數可以使用ctrl+c;
?
8.6 遠程登錄和復制文件
在Linux中ssh是一個非常常用的工具,通過ssh客戶端可以連接到運行了ssh服務器的遠程機器上;
SSH 全名:Secure shell (SSH) 協議連接到遠程計算機的軟件程序;
ssh -p port ?username@ip
username 是遠程計算機上的用戶名;
ip為遠程機器的ip/域名
port 是SSH Server監聽的端口號,如果不指定,就默認的是22;
例如:ssh -p 22 zq@172.16.140.138
在Ubuntu或者mac的電腦中默認是安裝了SSH客戶端的;所以可以直接使用ssh命令
但是在windows系統上就要安裝相應的客戶端軟件了,例如xshell、putty
xshell的官方下載地址:http://www.xshellcn.com/
?
8.7 scp
全名:secure copy ,是一個在Linux下用來進行遠程拷貝文件的命令
地址格式基本和ssh基本相同user@ip,只不過在指定端口的時候 大寫的 -P 而不是小寫的;
ps:scp 是在mac系統中可以這樣和Linux進行文件交互;
在windows中藥使用xftp軟件進行和Linux文件的交互;
?
9.用戶權限終端命令
硬連接數:有多少中方式可以訪問文件或者文件夾,
比如下面的01.py 文件 只能通過絕對或者相對路徑進行訪問(相對路徑在實際原理也是轉換成了絕對路徑的);
在比如 aaa文件夾 的硬連接數是3: 可以通過絕對路徑訪問,通過cd . ?的方式訪問當前目錄;在aaa下還有一個a文件夾,可以通過a ..的方式返回到上級目錄;所以是3種方式;如果在aaa文件夾下在建立一個b文件夾的話,連接數就成了4了;
?
9.1修改文件權限
去掉可讀權限
chmod -r aa.py
去掉可寫權限
chmod -w aa.py
去掉可讀可寫權限
chmod -rw aa.py
添加權限就是把-改成+就可以了
添加可以執行權限,文件就變成了綠色;
chmod +x aa.py
?
目錄的權限修改,創建一個目錄的時候默認都是有可執行權限的;不然的話文件夾沒辦法訪問;更改權限和文件的修改權限的命令是一樣的;
root賬戶:就是超級用戶,是具有所有的權限的;如果誤刪除了系統文件可能會崩潰,一般是不推薦使用root用戶登錄的;
但是有時候要切換到超級用戶權限的時候:可以在命令前加一個sudo ?以root的身份執行命令了;
?
9.2 組管理的命令
添加組
sudo groupadd dev
刪除組
sudo groupdel dev
通過查看系統group文件查看有沒有組信息,在文件的最后一樣是否有組信息;
cat /etc/group?
?
需求:建議一個文件夾,建立一個組,把文件夾放管理權限添加到新建的組中;
1.mkdir 文件夾名字
2.sudo groupadd 組名
3.cat /etc/group ? ? 查看組是否添加成功了;
4.chgrp -R 組名 文件夾名
?
10 .用戶管理的終端命令
sudo useradd -m -g dev zq ? ? 常見一個zq的用戶
sudo passwd zq ? ? ?給zq這個用戶設置密碼;
userdel -r zq ? ? ?刪除這個用戶;
?
查看用戶信息:
id 用戶名
[zq@localhost home]$ id zq
uid=1000(zq) gid=1000(zq) 組=1000(zq),10(wheel)
這個信息是保存在etc/passwd文件中的;
?
who ?
查看當前所有的用戶登錄了系統;
whoami
查看當前登錄的用戶名;
?
11.which
查看文件的位置;
which python ? ? ? ?輸出/usr/bin/python
ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 11月 16 19:33 /usr/bin/python -> python2
?
12 .切換用戶
?
13.系統相關信息的命令
13.1 時間和日期;
1.系統時間
date
2.日期
cal ? 查看日歷,-y 可以查看一年的日歷;
13.2 查看磁盤的信息;
df -h ? ? 顯示磁盤的剩余空間
du -h ? 目錄 ? ? ?查看目錄的占用空間大小
其中-h 是以人性化的顯示占用大小;
?
14.進程信息
?
15 find命令
查找文件
find 路徑 -name "*.py"
省略路徑的話就是當前文件夾下、
?
find -name "*.txt"
find -name "*1*"
find -name "1*"
16.軟連接
相當于windows中的桌面的快捷方式;
17.硬連接
軟連接中沒有-s就是硬的;
在liunx中文件數據和文件名是分開存儲的,
硬連接相當于給文件數據有引用了一個名字,刪除原來的名字對文件數據不影響;
軟連接則是連接到的文件的名字,刪除了文件的名字后,就無法訪問文件數據了;(刪除文件名字,其實數據也已經刪除了,因為沒有引用指向數據了。系統會將數據源也一并刪除掉);
一般不會建立硬連接的;
?
18 終端命令實現打包壓縮
18.1 打包:
tar -cvf 打包.tar 被打包的文件名,只負責打包,不負責壓縮;
例如:tar -cvf 1.tar a.py b.py c.py
解包:tar -xvf 1.tar ? ? ? ? ?默認是當前路徑;
解包:tar -xvf 1.tar -c 目標路徑
18.2 壓縮:
使用gzip來進行壓縮,加一個z就可以了
例如:tar -zcvf 1.tar *.py
解包:tar -zxvf 1.tar
解包:tar -zxvf 1.tar -c 目標路徑
?
19.上傳和下載文件
上傳文件:兩步走
sudo su
rz -b
?
下載文件:兩步走
sudo su
sz -b 文件名
?
20. ? yum whatprovides ?
解決辦法:1、執行命令: yum whatprovides libstdc++.so.6然后會提示哪個安裝包有這個庫文件如下:[root@localhost ~]# yum whatprovides libstdc++.so.6Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, refresh-packagekit, security, tmprepo, verify,: versionlockLoading support for CentOS kernel ABILoading mirror speeds from cached hostfile* base: centos.ustc.edu.cn* centosplus: centos.ustc.edu.cn* contrib: centos.ustc.edu.cn* extras: centos.ustc.edu.cn* updates: centos.ustc.edu.cnlibstdc++-4.4.7-3.el6.i686 : GNU Standard C++ LibraryRepo : baseMatched from:Other : libstdc++.so.62、然后執行:yum install libstdc++-4.4.7-3.el6.i686搞定!?
總結
- 上一篇: 前端学习(1737):css3实现loa
- 下一篇: 前端学习(1985)vue之电商管理系统