歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 自學Linux之每天收獲一點點

自學Linux之每天收獲一點點

日期:2017/3/1 11:48:36   编辑:關於Linux
命令 -選項 參數
如果選項是一個單詞時,選項前面要加2個-
modprobe -r pcspkr 在終端中輸入的時候有聲音,可以用這個命令屏蔽聲音 ,需要root權限

ls 顯示目錄下的內容,和Windows下的dir命令相當
ls -l(L的小寫) 以長模式顯示
ls -l /usr 查看usr目錄下的內容的信息
ls -ld /usr 查看usr文件夾本身的信息
ls -1(數字1)當前目錄下的內容一行一行顯示
ls -a 顯示包含隱藏文件,以.開頭的都是隱藏文件
ls -s 顯示文件,以及文件的大小
ls -1as 選項可以疊加
ls -sh 顯示文件的大小,有單位,能看懂

pwd 顯示當前所在目錄
clear或者crtl+l 清屏,和Windows下的cls命令相當
date 顯示日期
date + %Y 顯示年
date + %m 顯示月
date + %M 顯示分
date -u 101109452017 設置時間為2017年10月11日9點45分
cal 顯示日歷
cal 顯示這個月分日歷
cal 2016 顯示2016年所有的日歷
cal 05 2016 顯示2016年5月的日歷
bc 計算器
bc 回車後可以計算
1/3 開始等於0,因為默認保留小數點0位
scale=2 設置保留小數點後2位
quit 退出計算器
history 顯示我們之前敲過的命令,默認最多顯示1000個
!22 執行history命令中查詢出的序號為22的命令

ctrl+a 跳到命令行的開始位置
ctrl+e 跳到命令行的結束位置
ctrl+左箭頭 一個單詞一個單詞的往左跳
ctrl+右箭頭 一個單詞一個單詞的往右跳
ctrl+u 把當前光標到本行開頭的字符全部刪掉
ctrl+k 把當前光標到本行結束的字符全部刪掉
ctrl+c 結束當前命令的執行
ctrl+d 退出終端,相當於exit命令
ctrl+shift+t 打開多個終端,可以用ctrl+d關掉

按住esc,松手時按. 引用上個命令時的參數
touch xx 創建一個xx文本文件
^xx^yy 重新執行上個命令(touch命令),並且創建的文件名改為yy
whatis ls 告訴我ls這個命令的作用,我們可以用來查看不知道的命令
man ls 顯示ls這個命令的章節介紹,man這個命令可以用來查看不知道的命令
輸入/boot 高亮顯示文章中的boot字
n 從上往下查看boot
N 從下往上查看boot
q 退出
man -k clock 查看有clock關鍵字的命令,-k表示關鍵字
man host.allow 查看host.allow文件的作用,以及如何配置

gedit 打開gedit文本編輯器
gedit oo 使用gedit編輯器打開oo文件繼續編輯
rm -f oo 刪除oo文件
nano 打開nano編輯器
ctrl+o寫入文件,沒有文件名的話需要輸入文件名
ctrl+x 退出
sync 把緩存裡的數據寫入到硬盤中
shutdown 關機,需要root權限
shutdown -h 10 10分鐘後關機
shutdown -k 10 10分鐘後提示關機,並不會真正關機
shutdown -h 10:50 10:50時候關機
poweroff 關機
poweroff -f 立馬關機,速度很快
reboot 重啟
reboot -f 立馬重啟,速度很快

七個運行級別在/etc/rc.d目錄下
runlevel 查看當前在哪個運行級別,後面數字是當前在的,前面數字是以前在的
init 3 進入第三個級別,需要root權限
init 3 進入命令界面後輸入startx命令,會啟動圖形化界面這個服務,但是當前還是在第3級別
init 5 進入圖形化界面,因為第5個運行級別默認圖形化界面啟動
init 6 重啟
init 0 關機

文件系統
/etc/passwd 用戶的賬戶信息都放在這個文件夾下
/etc/shadow 用戶的密碼信息都放在這個文件夾下
/etc/group 用戶的組信息都放在這個文件夾下
系統根據uid來標記用戶的,不是根據用戶名
ln -s abc.log hh 給sbc.log文件做一個快捷方式,名字為hh
ls -lh 以查模式顯示目錄,裡面文件的大小有單位
第一列有10個字符
第一個字符:-:普通文件(二進制文件或文本文件);d:文件夾;b:設備文件(可以用來存儲東西的文件)
c:設備文件(字符型文件,不能用來存儲東西); l:快捷方式
下面九個字符:代表了文件的權限,把這9個字符分成三組,第一組針對文件所有者(用戶)
第二組針對用戶組裡的人,第三組針對其他用戶,每組有3個字符
這三個字符分別是r:讀權限,w-寫權限,x:執行權限,如果哪一個組少了什麼字符,
就是沒有什麼權限
chmod 更改用戶(u),用戶組(g),其他人(o)對某一個文件的權限
chmod u+x,g+w,o-r abc.log 更改為:用戶對abc.log文件的權限:加上可執行權限
用戶組對abc.log文件的權限:加上寫權限
其他人對abc.log文件的權限:減去讀權限
chmod ug-rw abc.log 更改用戶和用戶組對abc.log文件的權限:減去讀和寫權限
相同的可以寫在一起
x權限如果是在一個文件夾上,有x權限的人可以進入這個目錄,即可以cd過來
沒有的話不能cd過來
chmod ug=x abc.log 不管用戶和用戶組以前對abc.log文件有什麼權限,這個命令執行過後只有:可執行權限
chmod a=rw abc.log a的意思就ugo的簡寫
chmod +r abc.log 在+r權限前沒有指明是用戶或用戶組或其他人,默認對用戶添加讀權限(但本人測試是對三個都加了)
chmod +w abc.log 在+w權限前沒有指明是用戶或用戶組或其他人,默認對用戶和用戶組添加寫權限
chmod +x abc.log 在+x權限前沒有指明是用戶或用戶組或其他人,默認對三個都添加執行權限
我們把r權限當成4,w權限當成2,x權限當成1
如果說用戶對某一個文件的權限是數字5,那麼就是有r權限和x權限
chmod 743 abc.log 更改用戶、用戶組、其他人abc.log的權限,分別是rwx、r、rx權限
chmod 000 /usr 更改usr文件夾的權限為000,不會改變文件夾裡面內容的權限
chmod -R 555 /usr 更改usr文件夾以及文件夾裡面內容的權限為555,-R表示遞歸
useradd tom 添加一個tom用戶
chown tom /abc.log 把abc.log的所有者(用戶)改為tom用戶
chown tom:tom abc.log 把abc.log文件的所有者和用戶組都改為tom
冒號(:)可以改成點(.)
chgrp root abc.log 把abc.log文件的所屬組改為root
chown -R tom /usr 把usr文件夾以及裡面的內容的所有者改為tom
chgrp -R tom /usr 把usr文件夾以及裡面的內容的所屬組改為tom

file abc.log 查看文件的類型
Linux根目錄下有很多文件夾
bin:存放二進制文件
boot:系統的啟動文件(內核的配置文件等)
dev:存放設備文件,移動硬盤、u盤等
etc:配置文件
home:用戶的家目錄
lib:鏈接庫文件
media:系統的自動掛載點
mnt:手動掛載點
opt:當我們使用源碼包安裝時,一般都會安裝在這個目錄下的某一個文件夾,如果不指名安裝的話,默認安裝在usr目錄下
proc:指定內核參數
root:root的家目錄,其他用戶的家目錄都放在home目錄下
sbin:當我們敲命令時,都是存放在這個目錄下
tmp:臨時文件
usr:默認安裝路徑
var:日志文件、緩存文件、數據庫文件,占用空間比較大

tree /boot 查看boot目錄下的樹形結構
/usr/aa/bb 絕對路徑,從根目錄下開始寫
.表示當前目錄
..表示上層路徑
cd ../../../ 當前目錄的上層的上層的上層目錄
uname 查看內核,Linux
uname -i 查看架構(64位還是32位)
uanme -r 內核版本
uname -a 查看所有信息
lsb_release -a 查看所有信息
cat /etc/redhat-release

cd /usr 切換到usr目錄
cd 切換到當前用戶的家目錄,等同於cd ~
cd ~tom 切換到tom用戶的家目錄,一般用戶的家目錄在home下,如/home/tom,root用戶的家目錄是/root
cd ~/tom 切換到當前用戶的家目錄下的tom文件夾,由此可見~後面有/和無/的區別
whoami 看當前用戶是誰
cd - 切換到上次所在的目錄
mkdir xx 創建xx目錄
mkdir yy zz 同時創建多個目錄
rmdir yy zz 同時刪除多個目錄,rmdir不能刪除非空目錄
mkdir -p xx/yy 創建xx目錄,xx目錄下再創建一個yy目錄,-p的意思是xx目錄不存在的話就創建
mkdir -p rhca/{xx,yy,zz} 創建rhca目錄,在rhca目錄下創建三個文件夾
rmdir -p rhca/xx 刪除xx目錄的同時把rhca目錄也刪掉,需要刪掉xx目錄後rhca是空的
rm -rf rhca 把rhca目錄刪掉,-r表示遞歸,-f表示強制,不管rhca目錄下有沒有子目錄
echo $PATH 查看系統命令路徑
gedit xx.sh 創建一個腳本
./xx.sh 執行當前目錄下的xx.sh腳本
sh xx.sh 執行xx.sh腳本
如果我們直接寫xx.sh的話,系統默認到PATH路徑下找,因為我們沒把這個路徑加到系統path變量裡,
報找不到命令的錯誤,如果我們想直接寫xx.sh時能找到,就需要在系統path變量裡加上這路徑,如/home/sun
PATH="/home/sun" 設置系統的path變量路徑為/home/sun,如果我們要更改,應該先獲得以前的所有命令,
然後再加上這個路徑,這裡僅為方便寫了
ls -ld --time=atime /boot 以長模式顯示boot文件夾自身的信息,其中的時候等於最後訪問時間
ls -ld --time=ctime /boot 以長模式顯示boot文件夾自身的信息,其中的時候等於創建時間
ls -R / 列出根目錄下的文件,-R表示遞歸,如果文件夾下面還有文件夾,都顯示出來

cp /etc/service /home/sun 把etc目錄下的service文件拷貝到home/sun文件夾下,名字還是service
cp /etc/service /home/sun/xx 把etc目錄下的service文件拷貝到me/sun文件夾下,重命名為xx
cp -rf /etc /home/sun 把etc目錄遞歸、強制拷貝到sun目錄,如果不加-rf,cp無法直接拷貝一個目錄
cp -p /etc/service /home/sun 把etc目錄下的service文件拷貝到home/sun文件夾下,名字還是service
不加-p的話不會復制文件的屬性信息,如創建時間
cp -a /etc /mnt 把etc目錄都復制到mnt裡,-a表示all,包含-r/-f/-p
cp -u /etc/service /mnt/service 把etc目錄下的service文件復制到mnt目錄下的service文件中
如果etc目錄下的service比mnt目錄下的service新的話就會復制過去,反之不會復制過去
如果不加-u的話,會有提示的
cp xx yy 把xx文件拷貝為yy文件,如果xx是快捷方式的話,實際上快捷方式的鏈接沒拷貝過去
cp -d xx yy 加上-d,如果xx是快捷方式,會拷貝過去
rm service 刪除service文件
alias 查看別名,比如當我們把rm -i命令取別名為rm,當我們敲rm時,實際執行rm -i
ls /boot/grub/grub.conf 查看/boot/grub/目錄下的grub.conf,結果包含路徑和文件名
basename /boot/grub/grub.conf 查看文件名,結果只有文件名
dirname /boot/grub/grub.conf 查看文件路徑,結果只有路徑


我們可以使用cat、tac、head、nl、tail、more、less、od查看文檔的內容
cat xx 查看xx文件的內容,從前往後顯示全部內容,如果內容非常多的時候,
我們只能看到最後的東西,由此cat適合查看小文件
cat -n xx 查看文件時把每一行都加上一個編號
tac xx 查看文件的內容,從後往前顯示
nl xx 查看文件內容,會在每一行前加上行號,和cat -n xx效果一樣
nl -b a hosts,空行前也會加上行號
more xx 從前往後顯示文件的內容,分屏顯示,按enter再顯示一行,按空格再顯示一屏
按q退出
less xx 從前往後顯示文件的內容,分屏顯示,按enter再顯示一行,按空格再顯示一屏
less支持往前看,往後看,pageup往前翻,pagedown往後翻
home翻到第一頁,end翻到最後一頁
輸入/然後輸入要查找的內容,支持查找,按n往下翻,按N往前翻
按q退出
head xx 查看xx文件的前幾行,默認是10行
head -5 xx 查看xx文件的前5行,等同於-n 5
tail xx 查看xx文件的尾幾行,默認是10行
tail -5 xx 查看文件的尾5行,等同於-n 5
tail -f xx 查看文件的尾10行,但是不會退出來,我們可以監測日志文件
tailf xx 等同於tail -f xx,按crtl+c退出
service network restart 重啟網絡
od -t c /bin/ls -t指明顯示類型 c指明用什麼顯示,c表示Ascii碼,用於查看二進制文件
strings /bin/ls 查看文本或二進制文件的內容,強大的功能

touch xx 如果xx文件不存在的話,創建一個新文件,名字叫xx
如果xx文件存在的話,把這個文件的創建時間和修改時間改為當前時間
ll 等同於ls -l 以長模式顯示目錄內容
touch -t 20121223152536 xx 把xx的文件時間改為20121223152536
不加時間,默認當前時間

umask 權限過濾壺,可以查看過濾的權限,默認0002,取後面三位
umask 333 設置權限過濾為333,再進行查看的話就是0333
umask -S 查看保留哪些字符,和umask相反
lsattr xx 查看xx文件的隱藏權限
chattr +a xx 修改xx文件的隱藏權限,+a表示只能添加,不能刪除
chattr +i xx 表示這個文件不能更改,不能刪除
chattr -a xx 減去隱藏a權限
chattr -i xx 減去隱藏i權限

chmod u+s xx 在一個命令的所有者權限上,出現了s時,其他用戶對這個文件操作時,將具有所有者的權限
which passwd 查看passwd這個命令所在的路徑,結果為/usr/bin/passwd,也可以查看其他命令的路徑
whereis passwd 查看passwd命令的路徑,以及包含passwd命令的文件
whereis -b passwd 只看包含二進制文件命令的路徑
whereis -m passwd 除二進制文件命令之外的其他命令
locate mmm 列出所有文件名有mmm字段的文件路徑
locate找文件時並不是通過硬盤找的,是通過/var/lib/mlocate/mlocate.db數據庫找的
而這個數據庫是每天0點更新一次的
如果我們想通過locate命令查看剛創建的文件,只需更新一下數據庫即可
updatedb 更新數據庫
locate -i mmm 查找包含mmm文件名的文件路徑,不區分大小寫,也就是說MMM也能找到
hostname 查看主機名
echo xxxxx 在屏幕中打印出xxxxx
echo xxx`hostname`yyy 當一個命令嵌套在其他命令中,是不會執行的,除非加上反引號·或$()
echo xxx$(hostname)yyy 執行結果和上個一樣
chmod 4644 xx 設置xx文件的權限,644表示正常的權限,開始是4表示給u的位置加個S權限
chmod 2644 xx 設置xx文件的權限,644表示正常的權限,開始是2表示給g的位置加個S權限
chmod 1644 xx 設置xx文件的權限,644表示正常的權限,開始是1表示給o的位置加個T權限

find 目錄 -屬性 值
find / -name xxx 根據文件名,在根目錄下查找文件名為xxx為文件路徑
find / -user xxx 根據用戶名,在根目錄下查找所有者為xxx的文件路徑
find / -user xxx -group xxx 根據用戶名和所屬組,在根目錄下查找所有者為xxx,且所屬組也為xxx的文件路徑

Copyright © Linux教程網 All Rights Reserved