嵌入式linux常用命令
1、cd 切換目錄(路徑)
cd / 切換到根目錄
cd /home 切換到普通用戶的家目錄下
cd 同上到當前所在用戶的家目錄下
cd ~ 同上
2、相對路徑和絕對路徑:
絕對路徑:一定是從根目錄下開始的路徑
cd /home/user1
相對目錄:以當前所在目錄為出發點,進行目錄的切換
舉例:假如當前在home目錄下,如果要進入home目錄下的user1目錄,那么可以:
cd ./user1 或者 cd user1
是選擇相對路徑還是絕對路徑來切換目錄,取決於哪個方便。
. 代表當前目錄
.. 代表當前目錄的上一級目錄
3、ls 列出當前目錄或某個目錄下的檔案名稱
ls -l 以長格式(詳細)列出檔案
ll 和上面一樣,只是簡寫
ls -a 顯式所有的檔案(包括隱藏檔案:以.開頭的檔案)
ls -al 組合上面的功能
ls -d 列出當前目錄下的目錄檔案
4、pwd
顯式當前所在目錄
5、touch
創建一個空檔案,或者更新已有的檔案的時間
6、mkdir
創建目錄
mkdir -p 創建嵌套(多級)的目錄
7、cp 拷貝檔案或目錄
cp -p file1 dir1/file2
將當前目錄下的file1拷貝到當前目錄中的dir1目錄下,並且保存的名字是file2(file1和file2名字可以相同,也可不同)
cp -r dir1 dir2/dir3
將當前目錄下的dir1目錄拷貝到當前目錄下的dir2中的dir3目錄下
cp -rp dir1 dir2/dir3/dir4 拷貝的同時可以改名
8、mv 移動或改名
mv file1 dir1 移動當前目錄下的file1到當前目錄下的dir1目錄中
mv file1 dir1/file2 將file1移動到dir1下,並且改名為file2
mv dir1 dir2/dir3
移動dir1目錄到dir2下的dir3目錄下,或者如果在dir2下沒有dir3目錄,那么就是把dir1移到dir2下,且改名為dir3
9、rmdir 只能刪除空目錄,很少用
rm 可以刪除任何類型的檔案
rm file1 刪除file1檔案,刪除時會詢問是否刪除,y表示刪除,n表示不刪除
rm -f file1 強制刪除file1檔案,不詢問
rm -rf dir1 強制刪除目錄,不詢問
10、以詳細信息列出的信息
許可權欄位 連結數 檔案的所屬者 檔案的所屬組 檔案的大小 檔案創建的日期
檔案創建的時間或最新更改的時間 檔案名稱稱
-rwxr--rw- 3 root root 865 Jul 3 11:11 file1
其中許可權欄位中:
第一個字元表示檔案的屬性
- 表示普通檔案
d 表示目錄
l 連結檔案
s 套接字檔案
c 字元設備檔案
b 塊設備檔案
p 管道檔案
後9個字元,3個為一組:r可讀 w可寫 x可執行
第一組:檔案的擁有者
第二組:檔案的所屬組
第三組:其他所有人
每個許可權都有對應的一個數字:
r 4
w 2
x 1
許可權可以用上面數字的和來表示,如果某一位上沒有該許可權,那么那一位以-表示
用字母表示的許可權 用數字表示
rw-r-x--- 650
11、修改許可權可以:
第一中種方法:用數字
chmod 444 file1 修改檔案的許可權為對每類用戶都是只可以讀
第二種方法:用字母
+表示增加該許可權
-表示去掉該許可權
=設定成該許可權
chmod u+x,g+w file1
chmod u+rw file1
chmod u-r,g+x file1
chmod u=r,go+rw file1
chmod a=rw file1 修改file1檔案對所有人的許可權為可讀可寫
chmod -R u=rw,g=r dir1 遞歸修改dir1目錄下所有的檔案和目錄的許可權
12、chown 改變檔案的所屬者
chown 新的檔案所屬者的名字 檔案名稱
chown user1 file3 修改檔案file3的所有者為user1
chown user2:user3 file4
修改檔案file4的所屬者是user2用戶,所屬組是user3組
chown -R user1:user2 a
遞歸的修改a目錄下的所有的檔案的擁有者為user1,所屬組是user2
13、chgrp 改變檔案的所屬組
chgrp group1 file3 修改檔案file3的所數組為group1
chgrp -R group1 dir2 遞歸修改dir2下所有檔案和目錄的所屬組為group1
14、r w x 對檔案和目錄的不同意義:
檔案 r 可讀
w 可以修改
x 對於執行檔有可執行的許可權
目錄 r 可以看到該目錄下的檔案名稱字
w 可以在該目錄下新建、移動、修改、刪除檔案或目錄
x 是否能夠進入該目錄的許可權
15、三個重要的檔案
/etc/passwd 用來存放用戶信息
uid: 用戶標識
值是0: root用戶
1~499:
系統用戶(一般是不會登錄或不允許登錄的,而且通常沒有家目錄),是啟動作業系統必不可少的虛擬用戶。
>500:
>普通用戶(凡是新建的用戶都是普通用戶,普通用戶必須設定過密碼後才能登錄)
/etc/shadow 用來存放用戶密碼(加密過的)信息的
/etc/group 用來存放用戶組的信息
16、su 切換用戶
su - 用戶名 完全切換用戶(包括用戶所在的目錄等環境)
su 用戶名 只切換用戶,不改變之前的用戶的目錄等環境
17、用戶模式
開機默認級別5是在/etc/inittab檔案中記錄的,如果要修改,找到id:5:initdefault:這一行,改成你想要的級別(0-6)
0:關機模式
1:單用戶模式
2:多用戶,無網路模式
3:多用戶,有網路模式
4:保留未用的
5:圖形化模式
6:重啟模式
關機:
shutdown -h now 現在立刻關機
shurdown -h +20 20分鐘後關機
shutdown -h 00:30 在凌晨12點30分時關機
halt
poweroff
init 0
重啟:
shutdown -r now 現在立刻重啟
reboot 和上面的一樣,沒什麼區別
init 6
18、vi/vim(增強版的vi): 編輯器
進入vi:
(剛進入時,是命令模式)
vi file1
字母i
命令模式 ----> 插入模式(編輯模式)
<----
按下esc鍵
按下:鍵
命令模式 ----> 末行模式(底行模式)
<----
按下esc鍵,
或者刪除模行的:
插入模式和模行模式之間不能直接轉換,必須藉助命令模式
保存和退出:
模行模式下:
:w 只保存不退出
:wq 保存並且退出
:q 不保存退出
:w! 強制保存
:q! 強制不保存退出
:wq! 強制保存並且退出
:x 和wq一樣的作用
命令模式下:
shift + zz 和wq作用一樣
另外儲存為:
:w 路徑/檔案名稱
讀取某個命令的結果到游標所在行:
:r !命令
:set nu 顯式行號
:set nunu 不顯式行號
定位:
快速移動游標到首行開頭
1)種方法
:1
2)在命令模式下
按下1G
快速移動游標到末行開頭
在命令模式下
按下G
游標快速定位到某一行開頭
:行號
字母 h j k l 分別代表向左、向下、向上、向上四個方向鍵
複製:yy
在命令模式下:
輸入yy //複製游標所在行
移動游標到你想貼上到的行
按下p //貼上到游標所在行的下面一行
4p //貼上到游標所在行的下面,共貼上4行
按下P //貼上到游標所在行的上面一行
3P //貼上到游標所在行的上面一行,共貼上3行
複製部分內容,進行貼上:
進入命令模式,按下ctrl + v鍵,移動游標,選中你想拷貝的部分,按下字母y後,移動游標到某個位置,按下p。
刪除: dd
在命令模式下:
刪除一行:游標移動到想要刪除的某一行的某個位置,按下dd
刪除游標所在行開始下面n行 (n代表數字):
方法同上,按下ndd
查找:
/字元串 將游標定位到要查找的內容
消除高亮:
:nohl
替換:
:%s/舊的內容/替換成的內容/g
:%s/舊的內容/替換成的內容/
:s/舊的內容/替換成的內容/ 游標所在行只替換第一個匹配的
:s/舊的內容/替換成的內容/c 游標所在行之詢問第一個是否替換
:s/舊的內容/替換成的內容/g 游標所在行全部替換
:s/舊的內容/替換成的內容/gc 游標所在行逐個詢問是否替換
:5,7s/old/new/g 將第5到第7行之間凡是匹配old的部分都替換成new
在指定行(第5到第7行)開頭加//注釋:
:5,7s/^/\///g
刪除指定行開頭的//注釋:
:5,7s/^\/\///g
撤銷:
u 撤銷之前的一步操作
重做之前的一步操作:
ctrl + r
vim 檔案名稱 +行號
打開檔案時,就將游標定位到行號所指定的行的開頭
以橫向方式同時打開多個檔案:
vim -o file1 file2 file3
以縱向方式同時打開多個檔案:
vim -O file1 file2 file3
在上面幾個檔案中切換游標:
ctrl + ww
保存並且退出上面多個vim環境:
:wqall
19 目錄結構:
/ 根目錄
/bin /usr/bin /usr/local/bin 存放二進制執行檔的,所有的用戶都可以執行下面的命令
/sbin /usr/sbin /usr/local/sbin 也是存放二進
制執行檔的,只有root用戶才能使用下面的命令
/root root用戶的家目錄
/home 存放普通用戶的家目錄
/boot 和啟動相關的檔案,啟動引導程式grub就在該目錄下
/srv 服務相關的檔案
/usr 系統安裝軟體的默認安裝目錄
/opt 安裝第三方軟體的默認安裝目錄
/tmp 存放快取檔案
/lib 存放庫檔案
/mnt 臨時掛載的目錄
/sys 存放系統檔案
/var 存放經常變動的檔案 (像登錄日誌檔案目錄log、郵件目錄mail等)
/dev 存放設備檔案
/lost+found 系統突然出問題時存放的碎片檔案
/etc 系統配置相關的檔案存放的目錄
/media 掛載的設備的默認掛載位置
20、掛載:
命令格式: mount 設備 掛載點
mount -o loop xx.iso /mnt 掛載鏡像檔案
fdisk -l //查看系統分區
mount [-t vfat] /dev/sdb2 /mnt 掛載u盤
(其中sdb2是用fdisk -l看到的你的u盤的名字)
mount /dev/cdrom /mnt/cdrom
掛載光碟到/mnt/cdrom目錄下(如果/mnt目錄下沒有cdrom目錄,需要先新建該目錄)
showmount -e ip地址 查看該ip地址所在的主機是否有已分享資料夾
注意:如果要使用showmount命令,必須是已經安裝了nfs服務
mount ip地址:該ip地址所在的主機的已分享資料夾 /mnt
卸載:
umount /mnt
eject /mnt
21、開啟網路服務
service network start 開啟服務
service network restart 重啟服務
service network status 查看網路服務的狀態(是否開啟)
ifconfig 查看ip地址
ifconfig ethn ip地址 設定ip地址(n代表數字,表示第幾塊網卡)
22、添加用戶
useradd 用戶名
或者 adduser 用戶名
設定或更改密碼
passwd
當以root用戶身份執行該命令時,修改的是root用戶的密碼;如果以普通用戶身份執行該命令,那么修改的是該普通用戶自己的密碼。
passwd 用戶名
修改該用戶名所在的用戶的密碼(當然普通用戶只能修改自己的密碼,只有root用戶可以修改任何用戶的密碼)
注意:新建的用戶,如果未設定密碼,不允許登錄系統(會看到在/etc/shadow檔案中該用戶的密碼位的位置第一個字元是!號,凡是這樣的,就表示該用戶不能登錄)
更改用戶名
usermod -l 新用戶名 舊用戶名
禁用用戶
usermod -L 用戶名
將禁用的用戶重新啟用
usermod -U 用戶名
禁用用戶的密碼
passwd -l 用戶名
啟用用戶的密碼
passwd -u 用戶名
查看用戶的密碼是否設定過
passwd -S 用戶名
注意:當使用passwd禁用了某用戶,那么/etc/shadow檔案內該用戶的密碼位會出現兩個!!。如果用usermod啟用該用戶,那么要使用usermod -U兩次才能重新啟用該用戶。
刪除用戶
userdel 用戶名
userdel -r 用戶名 刪除用戶的同時連同該用戶的家目錄等和該用戶相關的信息都一同刪除
23、創建用戶組
groupadd 組名稱
創建用戶同時指定其所在組,用戶id,
用戶家目錄
useradd -g GID(組ID號) -u UID -d 家目錄 用戶名
查看用戶屬於哪個組
groups 用戶名
刪除用戶組
groupdel 用戶組
將用戶從原組脫離出來,加入新組
usermod -g 新組名 用戶名
將用戶加入新組,不從原組脫離
usermod -G 新組名 用戶名
查看用戶的id
id [用戶名]
查看用戶的詳細信息
finger 用戶名
24、設定特殊許可權位
對應的數字
SUID: set uid 4 (只能對二進制執行檔設定該位)
SGID: set gid 2
Sbit: stick bit 粘滯位 1 (只能對目錄設定該位)
SUID: 普通用戶使用該命令時,是以該檔案的擁有者或root用戶的身份執行的
chmod 4755 檔案名稱
Sbit:設定了該位的目錄,其中的檔案只能是檔案的擁有者才能對該檔案執行刪除、修改等命令
25、查看命令
echo hello 把hello顯式到終端或螢幕
cat 檔案名稱 查看檔案內容,適合於查看內容較少的檔案
more 檔案名稱 分頁顯式檔案內容(但是只能向下看)
less 檔案名稱
分頁顯式檔案內容(可以向上或向下看,可以使用方向鍵和pgup、pgdn鍵)
重定向:
>> 追加
> 覆蓋
echo hello >> file1
把hello這個字元串重定向添加到file1檔案(並不擦除file1檔案原來的內容)
echo hello > file1
把hello這個字元串重定向覆蓋file1檔案(如果file檔案原先有內容,就會被全部覆蓋掉)
grep 字元串 -n 檔案名稱
從檔案中提取符合字元串內容的行,顯式在螢幕上,並且顯式所在行
管道符號 |
命令1 | 命令2 把命令1的結果作為命令2的輸入
查看檔案頭幾行:
head -n 檔案 (n是數字)
查看檔案尾幾行:
tail -n 檔案 (n是數字)
查看file1檔案的第4和第5行
head -5 file1 | tail -2 file1
查看檔案的類型
file 檔案名稱
26、查找
which 命令 查看執行檔(命令)的目錄
whereis 命令 查看命令及幫助手冊頁的目錄
find 路徑 選項 參數
find /etc -name file1
find /home -amin -10 在10分鐘內訪問過的檔案
find /home -amin +10 在10分鐘之前訪問過的檔案
find /home -amin 10 在距離現在時間為10分鐘的那個時間點上訪問過的檔案
find /root -atime 1 按天計,剛好1天
+1 超過1天
-1 小於1天
-ctime
-mtime
find /root -size -1k 在某個目錄下查找小於1k的檔案
find /root -size +10m -a -size -20m
在某個目錄下查找大於10m,並且小於20m的檔案;如果-a改成-o,意思是找大於10m或者小於20m的檔案
find / -perm 7755 在根目錄下查找設定了特殊許可權
位的目錄
stat 檔案名稱 查看檔案的狀態
-atime 創建和訪問的時間(例如用cat、more等查看過之後,該時間會變化)
-ctime 屬性(狀態)修改之後,該時間會改變
-mtime 檔案內容修改後,該時間會改變
27、壓縮和解壓縮
1)tar 打包和解包
把一個目錄打包成一個檔案,或把一個打包檔案解包成一個目錄或檔案
打包:
tar -cvf 指定打包後的檔案名稱 源檔案名稱
舉例:tar -cvf etc.tar /etc
解包:
tar -xvf 打包後的檔案名稱
舉例:tar -xvf etc.tar
壓縮成.gz為後綴的檔案:
tar -czvf 壓縮後的檔案名稱 源檔案名稱
舉例:tar -czvf etc.tar.gz etc.tar
也可以直接使用tar,邊打包邊壓縮一個目錄為一個壓縮檔案
舉例:tar -czvf etc.tar.gz /etc
解壓縮:
tar -xzvf etc.tar.gz
壓縮成.bz2為後綴的檔案:
舉例:tar -cjvf etc.tar.bz2 /etc
解壓縮:
tar -xjvf etc.tar.bz2
2)gzip (gnu zip)只能用來壓縮檔案,不能壓縮目錄
壓縮:
gzip etc.tar 壓縮etc.tar檔案為etc.tar.gz (.gz後綴是該命令自動加的)
這個命令的一個特點是:會在成功壓縮後,刪除源檔案
解壓縮:
gzip -d etc.tar.gz或者 gunzip etc.tar.gz
上面兩個都是直接解壓縮成etc.tar檔案,所以還要再用tar解包
3)bzip2 (是gzip的升級版本),也是只能壓縮檔案,不能壓縮目錄。它的壓縮率比較高,適合於壓縮比較大型的項目
壓縮:
bzip2 -k etc.tar (加了-k參數,就可以保留源檔案)
解壓縮:
bunzip2 -k etc.tar.bz2 (.bz2後綴也是該壓縮命令自動加的)
28、檔案比較
diff 檔案1 檔案2 用於比較兩個檔案的差異
29、查看版本信息
lsb_release -a 查看系統版本信息(linux作業系統均可使用)
uname -a 查看系統版本信息
uname -r 查看核心版本信息
gcc -v 查看gcc編譯器的版本信息
30、df 查看已經掛載的分區信息
df -h 以人類易讀的方式查看已經掛在的分區信息
df -T 多了個系統的類型信息
du -h 以人類易讀的方式查看檔案的大小
du -s 對於目錄來說,只查看目錄本身的
du -m 以兆為單位查看
du -k 以位元組為單位查看
31、軟體安裝和卸載
1) .rpm 為後綴的源碼包
安裝:rpm -ivh xx.rpm
卸載:rpm -e xx
查看是否安裝了某軟體:
rpm -qa | grep star //在所有的軟體中查詢是否安裝了檔案名稱中含有star字元串的軟體
2) .bz2或者.gz為後綴的源碼包
第一步:解壓。
第二步:配置編譯環境。上一步解壓後,會出現一個目錄,進入該目錄,看有沒有configure檔案,如果有,執行:./config 然後會生成一個make檔案
第三步:編譯。執行make
第四步:安裝。執行make install
注意:如果第二步中發現沒有configure檔案,那么看看有沒有README檔案或INSTALL檔案,如果有這兩者中任一個,打開這個檔案,按照裡面的說明進行安裝和卸載即可。
3) .run或.sh為後綴的檔案(這兩種類型的檔案執行方法相同)
第一種方法:該檔案必須具有x許可權,之後,./xx.run
第二種方法:bash ./xx.run (xx.run不需要具有x許可權)
4).deb為後綴的檔案(在debian系列的作業系統,如ubuntu,多見這種類型的檔案)
安裝:dpkg -i xx.deb
卸載:dpkg -r xx
線上安裝:apt-get install vim
32、建立軟連結和硬連結檔案
ln -s 源檔案名稱 軟連結的檔案名稱
ln 源檔案名稱 硬連結的檔案名稱
軟連結檔案就相當於是windows下的捷徑,當源檔案刪除後,該軟連結檔案就無法再使用了。
硬連結相當於一本書有兩頁完全相同的目錄,當源檔案被刪除掉的情況下,該硬連結檔案一樣可以使用。
33、redhat下可以識別的檔案系統:
ext2 ext3
fat32 msdos
其他linux系統還可以識別的:
ext4, mk2fs, sys2fs
34、格式化u盤:
mkfs.ext2 /dev/sdb2
mkfs.vfat /dev/sdb2