第一周總結→干貨

需要掌握的大部分前期基礎知識

第一周干活總結

?容易忘記的兩個單詞(好尷尬)

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 查詢打開的文件或設備所匹配的描述符

1

其中藍綠色的數字即描述符,而且,描述符是可以修改的

例如:對剛剛操作過的文件host,現在輸入指令:exec <>/data/host 即可修改為8

2

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

(4)
晨嘉晨嘉
上一篇 2018-04-01
下一篇 2018-04-01

相關推薦

  • Linux筆記第一周

    一、描述計算機的組成及其功能。 計算機由硬件和軟件兩部分組成 硬件由主機與外部設備構成 軟件由系統軟件與應用軟件構成 二、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。 Red Hat公司發布? ? ? ? ?Redhat Centos Novell公司發布? ? ? ? ? ? ?SUSE Debian維護社區發布? ?Debian ub…

    Linux筆記 2018-06-24
  • shell腳本之判斷httpd是否有異常

    案例 以web為例 大全講解:如http為例 #/etc/init.d/httpd start????? 開啟httpd #lsof –i :80 [root@centos6 ~/bin]$curl -I -s -o /dev/null -w “%{http_code}\n” http://172.16.0.1 析:-I 是響應頭,響…

    Linux筆記 2018-05-20
  • 網絡基礎

    計算機網絡基礎

    2018-05-10
  • sed的用法

    sed是一種流編輯器,它一次處理一行內容。 處理時,把當前處理的行存儲在臨時緩沖區(pattern space),同時輸出到屏幕,接著用sed命令處理緩沖區中的內容,接著讀取下一行,這樣不斷重復,直到文件末尾。 用法: sed -[options] [操作] inputfile -n:不輸出模式空間內容到屏幕,即不自動打印 -e: 多點編輯 -f:/PATH…

    2018-04-22
  • 作業管理(任務計劃)

    任務計劃就好比我們的鬧鐘一樣,到了指定的時間就該去做對應的事情。 任務計劃分為兩類: 一次性的任務計劃:只執行一次就結束 周期性的任務計劃:每隔一定的周期去做相同的事情 at命令就是專門用來處理一次性的計劃任務 batch也是處理一次性的計劃任務但是它是由系統自行選擇空閑時間去執行此處指定的任務(不常用) crontab可以根據定義的周期信息,循環的去做一些…

    Linux筆記 2018-05-05
欧美性久久久久