1.建立一個目錄/data
mkdir /data
用一條指令建立多層目錄
mkdir -p /root/data/yang; -p遞歸建立目錄
記憶方法: make directory
2.更換目前目錄
cd /data;
記憶方法change directory
3.在/data下面建立一個檔案yang.txt
(1)cd /data
Touch yang.txt
(2)touch /data/yang.txt
記憶方法 ,touch = 摸一下,
4.為yang.txt 增加内容
(1)Vi yang.txt
(2)Vim yang.txt
5.檢視 cat
cat yang.txt
cat -n yang.txt
帶行号的查詢
6.單行或多行字元串列印 echo
echo ”haha”
新用法:echo {1..10} echo {a..z}
7.将單行多行字元串插入到xin.txt檔案末尾 重定向>
echo “haha” >xin.txt
(>>是追加重定向)
echo “gaga” >> xin.txt
8.複制yang.txt到xin.txt
cp yang.txt xin.txt
記憶方法:copy
9.移動目錄或檔案
mv yang.txt /root
10.列印工作目錄
pwd
記憶方法:print work directory
11.檢視目錄清單
ls
ls -l 以長格式顯示檔案屬性
ls -d 顯示目錄
記憶方法:list
12.指令的幫助 man
man touch
13.删除檔案或目錄 rm
a)删除檔案 rm yang.txt
b)删除檔案且不加提示 rm -f tang.txt (不常用)
c)删除目錄 rm -fr oldboy
d)Xargs rm -f
(一般不用,一定要用先做備份,cp)
替代方法:
1)mv移動到一個臨時目錄,資源回收筒
2)Find删除
記憶方法 remove
【14.find 極其重要】
第一種常用
find /root/data/ -type f |xargs rm -f
管道 |
find /root/data/ -type f -exec rm -f {} \;
-exec 對找到的内容做處理
em -f 具體處理的方法
{} 找到的内容
\;對;号進行轉義
15. .. 上級目錄
. 目前目錄
\. 代表點号;
面試題:
一個檔案下,除了一個yang.txt的檔案不删,其餘的全删
find /root/data -type f ! -name “yang.txt” |xargs rm -f
16.取檔案前N行
Head -2
17.【grep 過濾器(極其重要),把想要的和不想要的分開】
a)grep “oldboy” test.txt 就要oldboy
Oldboy
b) -v排除 grep -v “oldboy” test.txt 除了oldboy都要
Test
Liyao
c) -B 除了顯示目前行,還把前面N行顯示出來
i)grep 30 -B 10 test.txt
d)-A除了顯示目前行,還把後面N行顯示出來
i)grep 20 -A 30 test.txt
e)-C 除了顯示目前行,還把前後N行顯示出來
i)grep 25 -C 5 test.txt
f)-v 排除
grep -v "h" yang.txt
把檔案中有h的行排除,把其它的行顯示出來
g)-i 不區分大小寫
grep -i "H" yang.txt
和上一條效果一樣
h)-E 過濾多個字元串
grep -E "M|b" yang.txt
把包含“M”或者“b”的字元串顯示出來
18.*****sed -n ‘/過濾的内容/處理的指令’ 檔案名(stream editor 流編輯器)
-n 取消預設輸出
-i 改變檔案内容
sed -n ‘/oldboy/d’ test.txt
sed -n '2,8p' test.txt
處理的指令:p print 列印, d delete 删除
*****sed的替換功能
Sed “s###g” 檔案名
Eg:
1)sed “s#e#a#g” test.txt
2)sed -i “s#e#a#g” test.txt 永久替換
解釋:
s:常說的查找并替換,用一個字元串替換成另一個字元串
g:與s聯合使用時,便是對目前行全局比對;
*****sed的讀取比對功能
sed -i 's#()#\1#g' test.txt
一個括号對應一個\,第二個括号就是\2.
19.yum install tree
20.rpm ivh 包名.rpm
21.檢視目錄樹 tree
22.檢視以及定義别名 alias
a)alias yang=’echo “i am yang”’
23.unalias 取消别名
a)Unalias yang
24.~ 代表使用者的家目錄,針對root ~就代表root
25.seq序列=sequence
1)seq 5 8 列印5 - 8列
2)seq 5 10 50 列印5-50之間等內插補點是10
3)seq -s “=” 5 8 一行列印5-8 分隔符是”=”
[[email protected] ~]# seq -s "=" 5 5 95
5=10=15=20=25=30=35=40=45=50=55=60=65=70=75=80=85=90=95
26.tail 尾巴 與hand對應
a)Tail -3 取檔案最後三行
b)-f 跟蹤一個檔案尾部的實時變化
面試題:在一個有100行的檔案中選取20-30行的内容
1) Head -30 test.txt | tail -11
2) Set -n ‘20,30p’ test.txt
27.*【awk 一門語言,過濾内容(取列)(非常重要)】
a)awk '{print $2}' test.txt 顯示第二列的資料
b)awk -F ":" '{printf $1"\n"}' /etc/passwd 指定分隔符為“:”的第一列資料, $NF 表示最後一列
面試題:在這種環境下替換所有”test.txt”中的“oldboy”替換成”oldgirl”
find /root/data/ -type f -name "test.txt" | xargs sed -i "s#oldgirl#haha#g"
find /root/data/ -type f -name "test.txt" 表示找到類型為檔案,名字叫test.txt的檔案
xargs 表示要對找到的檔案進行操作的關鍵字
sed -i "s#oldgirl#haha#g" 永久替換 -i “s###g”
28.history 調出指令曆史記錄
29.互傳檔案
yum install lrzsz
1)直接打rz 選擇上傳的檔案到linux
2)直接打sz 選擇檔案下載下傳到windows
30.檢視系統版本
cat /etc/redhat-release
31.檢視核心
uname -r --核心資訊
uname -m --32位還是64位
hostname --顯示主機名
32.添加賬号
useradd 使用者名
33.為使用者設定密碼
passwd 使用者名
34.檢視目前的使用者
whoami
35.角色切換 su
目前是普通使用者,切換到root使用者
su - root 一定要加- 表示攜帶環境變量
36.檢查selinux狀态
getenforce
37.設定selinux狀态
settenforce
1) 1:啟用
2)0:警告,不啟用
38.使用者級别
[[email protected] ~]# tail /etc/inittab
Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
0 -- 代表關機狀态
1 -- 代表單使用者模式,比如linux root密碼忘了,想要找回密碼就用這個模式
2 -- 多使用者模式,但是不能聯網
3 -- 文本模式(工作場景用的就是這種模式)
4 -- 現在還沒用
5 -- 桌面模式
6 -- 重新開機模式
runlevel 檢視目前使用者級别
39. 修改開機啟動項
檢視 chkconfig --list
修改 chkconfig --level 3 atd off
atd -- 服務名
40.關閉防火牆
1)service iptables stop
2)/etc/init.d/iptables stop
基礎正規表達式
1). --單個任意字元
2)* --重複前面任意0個或多個字元
3).* -- 比對任意字元
41.遠端登入
ssh ip位址
42.遠端傳送檔案
scp 檔案 目前身份@目的IP位址:/檔案位址
配置主機之間的免密登入
假如 A 登入 B
(B這裡就寫IP就行)
在A上操作:
首先生成密鑰對
ssh-keygen (提示時,直接回車即可)
再将A自己的公鑰拷貝并追加到B的授權清單檔案authorized_keys中
ssh-copy-id B
檢視日志檔案
tail -f(-F) 檔案 實時回顯檔案
背景服務管理
service --status-all 顯示所有的服務
service network status 檢視指定服務的狀态
service network stop 停止指定服務
service network start 啟動指定服務
service network restart 重新開機指定服務
設定背景服務的自啟動配置
chkconfig 檢視所有伺服器自啟配置
chkconfig iptables off 關掉指定服務的自動啟動
chkconfig iptables on 開啟指定服務的自動啟動