第一周干活總結
?容易忘記的兩個單詞(好尷尬)
client客戶端
server服務器
分區
Linux同樣需要分區
1.系統分區:啟動操作OS的分區
2.啟動分區:安裝OS的分區
3.活動分區:一個硬盤有多個主分區,只有 一個是活動分區
主分區:一個硬盤最多分4份
1.擴展分區:一個硬盤最多一個,加主分區最多4個,不能創建NTFS、fat
2.邏輯分區:可以創建文件系統
分配盤符:E:或c:\E ?在Linux中為mount :掛載
例,將E盤掛載到C盤,C為掛載點….
硬盤的分區表示法
centos6之后:
/dev/sda
/dev/sdb
/dev/sdc
/dev/vda→表示虛擬硬盤
目錄簡介
一級目錄:
/bin ? ? ? ?全拼binary,二進制程序文件目錄(普通用戶用的程序)
/dev ? ? ? ?硬件設備文件目錄
/boot ? ? ?啟動相關的文件
/etc ? ? ? ? 系統配置
/lib ? ? ? ? ?共享庫
/mnt ? ? ? 手動掛載點
/opt ? ? ? ? 第三方應用程序軟件包
/sbin ? ? ? 管理員用的程序
/srv ? ? ? ? 服務用的數據
/tmp ? ? ? 臨時數據
/usr ? ? ? ?第二層目錄結構
/var ? ? ? ?可變數據,比如日志log
文件顏色簡述
綠色:可以執行程序
藍色:目錄
紅色:打包文件
淺藍色:鏈接文件、快捷方式
(vim /etc/DIR_COLORS 各種文件不同類型顏色的設置,可修改)
系統時鐘和硬件時鐘
- date 查看系統時間
date 月日小時分年.秒 的格式設置時間
- clock 查看硬件時間
-w 將硬件時間校準為系統時間clock變date
-s 將系統時間校準為硬件時間date變clock
- timedatectl status 查詢當前時區信息(centos7)
- tzselect 查詢centos6的時區(centos6)
- cal 日歷
- ntpdate ip在橋接模式下,與橋接ip時間同步
- meta data 元數據
- ctime 元數據修改時間
- atime 訪問時間
- mtime 修改時間
- stat / 可以看文件的三個時間戳信息和其他信息
某些基本符號
- 單引號:什么都不識別
- 雙引號:識別一些命令
- 反向單引號:什么都識別
- / 代表根目錄
- ~ 代表家目錄
- . 代表當前目錄
查詢類命令
- free 可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區
strace free ? ? ? ? ?查詢syetem call?(系統調用)
ltrace free ? ? ? ? ?查看library
- uname -r ?????????????查看內核
- fdisk -l ? ? ? ? ? ? ? ? ?磁盤分區
- ifconfig ? ? ? ? ? ? ? ? 查看IP
- df 查看掛載情況和相關信息
df -h ? ? ?看起來更方便的詳細信息
lsblk ? ? ?同上,但較為直觀
- runlevel 查詢模式切換狀態
- tree -L 1 顯示第一層文件夾列表
-d 只顯示文件夾
- enable 默認顯示所有內部命令(其實是禁用/啟用某個內部命令的命令)
例如:enable -n type 禁用type命令
- help 查看所有內部命令說明,其中前面帶*的是被禁用的命令
- type +命令 可好看是否為內部命令;內部命令是集成在bash內,沒有路徑
- which -a +命令 顯示該命令所有存在的路徑,單which 同type一樣
- which –skip-alias +命令 只顯示路徑
- cat 看文本文件內容,不包含二進制文件
cat /etc/shells ? ? ? ? ? ? ? ? ? ?查詢所有shell類型
cat .bashrc ? ? ? ? ? ? ? ? ? ? ? ? ?別名放在.bashrc中,僅適用于當前用戶!
cat /etc/centos-release ? ?查看OS的發行版本
cat /proc/meminfo ? ? ? ? ? 查看內存
- hexdump -c 查看文件內容,包括二進制文件
- tty 可查切換至f幾
- who 查詢所有登錄用戶,沒有IP的則為遠程登錄
- whoami 當前用戶名
- who am i分開可查詢當前具體用戶信息
- whatis 查看外部命令說明
- w 查詢誰在登錄、正在做什么
- echo 打印當前字符串或者變量的內容
echo $SHELL 打印當前變量的內容
echo $PS1 (數字1)查詢當前格式符的提示定義
例:?[\u@\h \w]\$
PS1=”\[\e[1;5;41;33m\][\u@\h \w]\\$\[\e[0m\]”
1為加粗;5為閃爍;41為背景顏色;32、33為字體顏色
echo $PATH ? ? 打印外部命令讀取路徑順序(所有外部命令都在這里)
echo “hello” ? ? ?打印一遍字符串
echo $OLDPWD 顯示上次進入的路徑
OLDPWD 是變量 ,可以修改,并且echo $OLDPWD生效
- ls 列出當前文件的目錄列表
ls -a 列出包括隱藏文件的所有文件目錄列表
ls -i 查看文件或文件夾的節點編號,df -i 也是查詢節點編號有關信息的
ls f[[:upper:]] 列出所有f+一個大寫字母的文件,lower代表小寫
lsblk 塊設備情況
ll?f1?查詢f1文件大小?是ls的別名
ll !* 其中!*代表引用上一個使用的命令的所有后面的參數
- du 顯示當前路徑所有文件大小
du -sh /* ?顯示最大的文件
- pwd 查詢當前所在的完整路徑
pwd -p 顯示當前的真實路徑(例如針對軟鏈接路徑顯示問題)
pwd 變量,可修改,實質是修改了顯示的提示符
- id -u 查看是非為管理員身份(0)
id -u chenjia 也可查看用戶id
- whereis 顯示命令路徑和文檔路徑,比which全面一些
- ldd 查詢命令所調用的庫文件
- 別名命令
alias ? ? ? ? ? ? ?命令=“被定義命令’”定義命令別名
alias ? ? ? ? ? ? ?該命令 查看該命令別名的被定義內容
unalias ? ? ? ? 該命令 刪除該命令的別名定義
unalias -a ? ? 取消全部別名
nano .bashrc 在里面可永久定義命令別名,想生效需要exit;或者. .bashrc或者source .bashrc
若,命令和別名沖突時,想使用原始命令,則:外部命令敲命令途徑;內部命令則用’?‘或\或””或command
常用操作
- gedit 為圖形工具,在字符模式下不能用
- startx 開啟圖形界面,并不是切換模式;ctrl+c 則取消startx
- nano 為字符文本編輯工具
- 在centos圖形界面ctrl+alt+f2/f3/f4…進入(并沒有切換)字符界面
- chvt 2/3/4手動切換進入字符界面
- init 3 徹底切換到字符界面(模式切換)
5 切換回圖形界面
0 關機
- yes 無限重復打印本身或者后面的命令
- man 7 glob 查詢通配符預定義
- > f1 建立f1空文件命令,若果有f1,則覆蓋,變空文件
- touch `date +%F`.log 創建一個有格式的空文件,如果文件名已存在,則不創建并刷新該文件的三個時間戳
touch `date -d “-1 day” +%F`.log 創建昨天的日志文件
touch -c f2 如果文件不存在則不創建,此命令只用于刷新時間戳
touch file{1..100}.conf 創建1到100個文件
- mkdir 建立空文件夾,不同于touch 是建立空文件
mkdir -p ~/f1/1/2/3/{4,5}/{a,b} 建立多個文件,f1下建立1,1下建立2,2下建立3,3下建立4和5,并且4下建立a和b,5下同樣建立a和b
- rmdir 刪除空文件夾,-p逆向遞歸刪除空文件夾
- cd 進入到某個文件夾
例:cd /root 進入~家文件
cd – 退回到上次最后一次進入的路徑
cd 默認回到root用戶目錄(家目錄)
- cp 復制(root權限中是cp -i別名,會提醒是否覆蓋;而用戶權限中是真cp)
例:cp /usr/bin/yes /usr/local/sbin 將yes復制到后面的文件夾里
cp /etc/host host.bak 將host文件復制并改名為host.bak(新文件原本不存在)
若再次執行上述命令,即進行覆蓋指令
cp /etc/host ~chenjia/ 將host文件復制到chenjia的家目錄里面
cp -r 在將文件夾進行復制操作時,-r表示遞歸,即復制操作同樣執行于該文件的所有子目錄
cp -f 為替換操作 cp -d 復制保留軟鏈接 cp -a 保留所有屬性數據(防止遇到源文件是軟鏈接或磁盤掛載點的情況,這會復制軟鏈接的鏈接文件) cp -av v表示顯示操作過程
若再次復制同一個文件夾到同一個文件夾時,cp默認會復制到目標文件夾的子目錄中
mv 9zxc8 9zxc7 更換9zxc8文件的名字為9zxc7 ?。?!
cp 9zxc8 9zxc7 復制8,命名為7并保存
- ln f1 f2 建立f1的硬鏈接f2文件并且讓他與f1的節點編號一樣(link)
ll -i可查詢,(2 root root 3 Mar 30 16:03 f1)查詢結果中的2為鏈接數
文件夾不支持硬鏈接創建和跨設備創建,并且文件夾的鏈接數至少是2
- ln -s f2 f2_link 創建f2的軟鏈接,支持文件夾的軟鏈接創建和跨設備創建
注意:采用相對路徑時,f2要寫相對軟鏈接的路徑(一般軟鏈接都用相對路徑)
- readlink 專門查詢軟鏈接的目標,一般用ll即可
- 重定向
I input ? ? ? 輸入
O output ? 輸出
以下拿ls舉例:
ls > /dev/pts/5 改變重定向,即改變信息輸出的終端窗口到5窗口顯示
ls > /data/ls.out 讓標準輸出寫入到ls.out文件里面,若文件不存在,則先建立空文件
ls 2> /data/ls.out 代表將標準錯誤輸出寫入該文件,1可以省略
若再次執行重定向命令到同一個文件,則默認為替換掉,>> 則可以實現追加
ls 錯誤輸出 正確輸出 >>f1 2>>f2 這句表示將正確輸出放入f1文件,錯誤輸出放入f2
ls 錯誤輸出 正確輸出 >all.log 2>&1 即將錯誤輸出認為是正確輸出,并將所有正確輸出寫入all.log文件;可簡化為:ls I O &>all.log
set -C 禁止覆蓋,執行后,之后>的默認覆蓋將被禁止,但是>| 為強行覆蓋,取消禁止為set +C
(ls;pwd) > all.log 將多個命令的輸出記錄到all.log文件中
>bigfile 清空文件的命令就是采用的重定向;>>f1 同樣可以創建一個空文件,并且如果存在該文件,也不會覆蓋原有文件,是最為安全的創建空文件的措施,相對于touch命令創建空文件,>>重定向并不會修改原有文件的屬性信息,比如使用時間,而touch則會修改為當前時間
< 為標準輸入的重定向命令
注意:cat < f1 >f1 則清空f1,若cat /f1 >>f1 則無限循環的在f1里面復制同樣的數據
處理文件都需要先打開文件,然后系統自動分配一個文件描述符fd
例如:ll /proc/$$/fd 查詢打開的文件或設備所匹配的描述符
其中藍綠色的數字即描述符,而且,描述符是可以修改的
例如:對剛剛操作過的文件host,現在輸入指令:exec <>/data/host 即可修改為8
exec 8>&- 刪除8這個描述符(也是軟鏈接)
- history ? ? ? ? ?歷史命令
- rename “conf” “bak” *.conf 批量修改文件名字,即:對*.conf類的文件,將conf修改為conf.bak (注意:cp 做不到批量修改文件名)
- hash 外部命令運行過后會存到hash中,以便下次不需要從$PATH中尋找
hash -d 刪除某條運行過的命令的緩存
hash -r 清除緩存
- rm -f /usr/local/sbin/yes 刪除該文件
- lsof |grep deleted 查看已經刪除但是并沒有被覆蓋清掉的文件
- shred -zv -n 6 f1文件 z是用隨機字符覆蓋f1文件,n是覆蓋次數
- file 可查詢文件類型(在Linux中,文件的后綴并不能說明說明)
- hostname ? ? ? ? 完整的主機名
- dd if=/dev/zero of=bigfile bs=1M count=800 即建立一個文件并用zero中的數據填充,
- systemctl restart network 重新啟動網卡
- rpm -ivh xxxxx 安裝某個工具
rpm -qa |wc -l ? ? ? ?查詢安裝文件數量
- 多人會話screen命令
screen -s xx ? ? ? ? ? ?建立會話
screen -x xx ? ? ? ? ? ?進入會話
個人退出ctrl+a,d
screen -r ? ? ? ? ? ? ? ? ?再次加入會話
screen -ls ? ? ? ? ? ? ? ?查詢會話信息
- killall vim ? ? ? ? 殺死進程,但不建議
- shutdown ? ? ? ? 關機
shutdown -r +5 ? ? 五分鐘后關機
shutdown -c ? ? ? ? ? 取消關機
- wall “xx” ? ? ? ? ? 廣播,登錄即可看見
- poweroff ? ? ? ? ? 徹底關機
- halt ???????????????????關機不關電源
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94532