Linux 入門篇第五章
文章導航
- 上一章說了很多命令杰扫,都是一些常用的命令,這一章繼續(xù)我們的命令
- 不過比較精確了佳遣,那我們開始
命令導航
screen命令
- 這個命令是一個命令界面遠程命令
- 創(chuàng)建新screen會話
- screen –S [SESSION]
- 加入screen會話
- screen –x [SESSION]
- 退出并關閉screen會話
- exit
- 剝離當前screen會話
- Ctrl+a,d
- 顯示所有已經打開的screen會話
- screen -ls
- 恢復某screen會話
- screen -r [SESSION]
- 創(chuàng)建新screen會話
- 這個工具可以開啟一個新窗口凡伊,開啟一個虛擬的窗口
- 首先安裝軟件
[root@CentOS7 /]# yum install screen
- 那這個東西有什么用系忙,比如:
- 我用以下命令
[root@CentOS6 ~]#yes 他會無限制的運行
-
我這里把他關了
- 那這個yes還在運行嗎
- 有一個程序可以來查看某一個進程
[root@CentOS6 ~]#ps aux|grep yes 這是看進程的命令
root 3264 0.0 0.0 103332 848 pts/0 S+ 10:41 0:00 grep yes
- 他還在運行,一關了就只看的到他的進程风宁,看不到他在運行了
- 所以我們要關了一樣可以用蛹疯,也就是也在后臺去運行了捺弦,前臺沒了,那么這么進前臺列吼,有一個命令寞钥,那我開始演示
首先執(zhí)行命令:
[root@CentOS7 /]# screen -S linux 首先開啟一個會話,Linux就是我開啟的會話
讓后我在另外一臺電腦上就可以看到一個會話
[root@CentOS7 ~]# screen -ls
There is a screen on:
3107.linux (Attached) 這個就是我開啟的會話
1 Socket in /var/run/screen/S-root.
開啟了一個會話以后在進入這個linux會話太示,輸入這個命令香浩,你就可以進入會話了
[root@CentOS7 ~]# screen -x linux 進入會話命令,前提你的電腦要通過SSH協(xié)議鏈接到這臺電腦
![2.png](https://upload-images.jianshu.io/upload_images/6132055-60968a6a30a4a0b9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
這兩部就同步了
記住要前提鏈接到這臺哦餐弱,你創(chuàng)建以后你可以鏈接多個人進來囱晴,這樣數(shù)據(jù)就完全同步了
script
- 這個命令的命令界面錄屏,如:
執(zhí)行這個命令就開始錄屏了
[root@CentOS6 ~]#script -t 2> time.log -a haha.log
time.log是時間名字隨便 haha.log 是命令名字隨便 畸写,這樣就開始記錄命令了
如果錄屏完畢以后輸入下面命令就退出錄屏了
[root@CentOS6 ~]#exit
exit
Script done, file is linux.log
那這么回看,用下面命令就可以回看了论笔,等的需要耐心哦
[root@CentOS6 ~]#scriptreplay time.log lin.log
這樣就可以在命令界面錄屏了
echo
- echo 是顯示字符串用的千所,echo 本身是回顯的意思
- 功能:顯示字符
- 語法:echo [-neE][字符串]
- 說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號
- 選項:
- -E (默認)不支持 \ 解釋功能
- -n 不自動換行
- -e 啟用 \ 字符的解釋功能
- 顯示變量
- echo "$VAR_NAME“ 變量會替換最楷,弱引用
- echo '$VAR_NAME‘ 變量不會替換待错,強引用
- 詳細解析
- 啟用命令選項-e朗鸠,若字符串中出現(xiàn)以下字符,則特別加以處理烛占,而不會將它當成一般文字輸出
- \a 發(fā)出警告聲
- \b 退格鍵
- \c 最后不加上換行符號
- \n 換行且光標移至行首
- \r 回車忆家,即光標移至行首,但不換行
- \t 插入tab
- \ 插入\字符
- \0nnn 插入nnn(八進制)所代表的ASCII字符
- echo -e '\033[43;31;5mmagedu\033[0m'
- \xHH插入HH(十六進制)所代表的ASCII字
小命令
[root@CentOS7 /]# rz 是吧windows文件傳到linux里面
[root@CentOS7 /]# sz 是吧linux傳到windows里
[root@CentOS7 ~]# hexdump anaconda-ks.cfg 讓文件以二進制來顯示
[root@CentOS7 ~]# dos2unix 把Windows文本格式轉化為Linux文本格式
[root@CentOS7 ~]# unix2dos 把Linux文本格式轉化為Windows文本格式
[root@CentOS7 ~]# yum install dos2unix 這個需要安裝
[root@CentOS7 ~]# df 查看磁盤
[root@CentOS7 ~]# file anaconda-ks.cfg 查看編碼機制
幾個常用變量
- 先說幾個簡單的變量揭芍,以后再說詳細的變量卸例,為了熟悉下
[root@CentOS7 ~]# echo $SHELL shell 變量
/bin/bash
[root@CentOS7 ~]# echo $PATH PATH變量,找外部命令就在這幾個目錄里面找的姑原,如找不到就給你說找不到了
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@CentOS7 ~]# echo $USER 顯示當前用戶名和pwd命令一樣
root
強引用锭汛,若引用等
- 說簡單,按照我的理解就是聰明唤殴,傻朵逝,還有聰明和傻都有,什么意思看下面
[root@CentOS7 ~]# echo "echo $USER" 雙引號兩者之間
echo root
[root@CentOS7 ~]# echo echo '$USER' 單引號是最傻的
echo $USER
[root@CentOS7 ~]# echo `echo $USER` 反向單引號廉侧,這是最聰明的段誊,里面必須是一個命令
root
我常用的是反向單引號
這個命令可以這么用
[root@CentOS7 ~]# touch `hostname`.log
[root@CentOS7 ~]# ls CentOS7.3.log 就是我創(chuàng)建出來的
anaconda-ks.cfg Desktop Downloads Music Public Videos
CentOS7.3.log Documents initial-setup-ks.cfg Pictures Templates
你還可以用他來年月日文件
[root@CentOS7 ~]# touch `date +%Y-%m-%d`.log
[root@CentOS7 ~]# ls
2019-10-23.log Desktop initial-setup-ks.cfg Public
anaconda-ks.cfg Documents Music Templates
CentOS7.3.log Downloads Pictures Videos
你還可以這樣玩
[root@CentOS7 ~]# echo i am `whoami`
i am root
還可以這樣組合用大括號
[root@CentOS7 ~]# touch file{1,3,5,7}
[root@CentOS7 ~]# ls
2019-10-23.log Desktop file1 file7 Pictures Videos
anaconda-ks.cfg Documents file3 initial-setup-ks.cfg Public
CentOS7.3.log Downloads file5 Music
刪除的話也可以這樣刪除
[root@CentOS7 ~]# rm -rf file{1,3,5,7}
[root@CentOS7 ~]# ls
2019-10-23.log Desktop initial-setup-ks.cfg Public
anaconda-ks.cfg Documents Music Templates
CentOS7.3.log Downloads Pictures Videos
還可以創(chuàng)建很多組合
[root@CentOS7 app]# touch file{1,2,3}.{.txt,log}
[root@CentOS7 app]# ls
file1.log file1..txt file2.log file2..txt file3.log file3..txt
也可以實現(xiàn)范圍組合
[root@CentOS7 app]# echo {1..100}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
還可以反過來
[root@CentOS7 app]# echo {10..1}
10 9 8 7 6 5 4 3 2 1
也可以搞負數(shù)
[root@CentOS7 app]# echo {-10..10}
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
也可以定位數(shù)
[root@CentOS7 app]# echo {0000..50..2} 0000是格式幾位數(shù)
0000 0002 0004 0006 0008 0010 0012 0014 0016 0018 0020 0022 0024 0026 0028 0030 0032 0034 0036 0038 0040 0042 0044 0046 0048 0050
也可以搞字母连舍,也可以搞大寫
[root@CentOS7 app]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
還可以1到100000000你可以試試索赏,用你的電腦看你的電腦有多牛B
[root@CentOS7 ~]# echo {1..10000000}
命令補全
- 內部命令:
- 外部命令:bash根據(jù)PATH環(huán)境變量定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件埃儿,第一次找到的命令即為要執(zhí)行的命令
- 用戶給定的字符串只有一條惟一對應的命令融涣,直接補全否則,再次Tab會給出列表
- 路徑補全
- 把用戶給出的字符串當做路徑開頭剃斧,并在其指定上級目錄下搜索以指定的字符串開頭的文件名
- 如果惟一:則直接補全
- 否則:再次Tab給出列表
雙擊Tab鍵
- command 2Tab 所有子命令或文件補全
- string2Tab 以string開頭命令
- /2Tab 顯示所有根目錄下一級目錄忽你,包括隱藏目錄
- ./2Tab 當前目錄下子目錄,包括隱藏目錄
- *2Tab 當前目錄下子目錄根蟹,不包括隱藏目錄
- ~2Tab 所有用戶列表
- $2Tab 所有變量
- @2Tab /etc/hosts記錄 (centos7不支持)
- =2Tab 相當于ls –A (centos7不支持)
- 2是2下的意思,別以為是2丽已,就是按兩下tab鍵