1、vi -- 續(xù)
字符串查找(常用)
:/要查找的字符串 敲enter開始查找
n代表下一個
N代表上一個
從上往下找
?/要查找的字符串 敲enter開始查找
n代表下一個
N代表上一個
從下往上找
字符串替換
光標(biāo)所在行
:s/孤單/幸福 將光標(biāo)所在行的第一個孤單替換為幸福
:s/孤單/幸福/g 將光標(biāo)所在行的所有孤單替換為幸福
指定行
:n,ms/孤單/幸福 將n到m行第一個孤單替換為幸福
:n,ms/孤單/幸福/g 將n到m行所有孤單替換為幸福
所有行
:%s/孤單/幸福
:%s/孤單/幸福/g
vi打開快捷到某行
vi lala.txt +n 打開文件默認(rèn)到第n行行首
vi lala.txt + 打開文件默認(rèn)到尾行行首
vi的配置文件
.vimrc 如果想用vi來寫python代碼,搞一個配置文件
vi ~/.vimrc
vi的常見錯誤
非法編輯退出vi的時候,會產(chǎn)生一個 .2.txt.swp 的一個交換文件,只要有這個文件存在, 那么打開這個文件的時候就會有提示,不想要這個提示,刪除這個文件即可
rm -f .2.txt.swp
vi -r 2.txt 恢復(fù)到上次編輯的內(nèi)容
2、文件相關(guān)指令
文件和文件夾的相關(guān)指令,創(chuàng)建、刪除、拷貝、移動、查看
創(chuàng)建:
文件: vi 文件路徑 touch 文件路徑
文件夾: mkdir 目錄路徑 創(chuàng)建指定的目錄
mkdir -p dudu/haha/xixi 遞歸創(chuàng)建目錄
刪除
文件: rm 文件路徑 rm -f 文件路徑 強制刪除
一般都不刪除文件,一般都是備份一下,編輯新的文件
通配符:*
rm -f *.txt 刪除所有txt文件
rm -f * 刪除所有文件
目錄:rmdir 目錄路徑 只能刪除空目錄
rm -rf 目錄路徑 刪除非空目錄
拷貝
cp 源文件路徑 目標(biāo)文件路徑
拷貝文件的時候可以修改名字
cp -r 源文件夾 目標(biāo)文件夾
拷貝文件夾的時候可以修改
cp -r lihong jielun/ 使用原來的名字
cp -r lihong jielun/hong 修改名字
移動
mv 源文件路徑 目標(biāo)文件路徑
移動的時候可以修改文件名字
移動文件夾不用加 -r 參數(shù)
查看文件
vi就能查看
cat 文件名
-n 顯示行號
tac 文件名 倒著查看
head 文件名 默認(rèn)查看文件前十行
-5 查看文件前五行
tail 文件名 默認(rèn)查看文件后十行
-5 查看文件后五行
more 文件名
enter : 往下走一行
空格 : 往下走一頁
不能向上看,按q退出
less 文件名
enter : 往下走一行
空格 : 往下走一頁
按q退出
pageup 上翻頁
pagedown 下翻頁
/要查找的字符 也可與查找
3、文件系統(tǒng)
文件系統(tǒng)就是文件管理系統(tǒng)的簡稱,不同的文件系統(tǒng)存儲和讀取數(shù)據(jù)的方式都不一樣,就會導(dǎo)致同樣的東西,不同的文件系統(tǒng)來存,存的大小不一樣
apfs:蘋果手機的格式
常見的文件系統(tǒng)格式:
windows:
fat
fat16 已經(jīng)淘汰
fat32 經(jīng)常使用,尤其在u盤領(lǐng)域
fat64 (exfat) 在windows和mac都可以直接讀寫
ntfs
windows的默認(rèn)系統(tǒng)格式
linux:
ext
ext2
ext3
ext4 目前是這個格式 不能讀寫ntfs,如果要讀寫,安裝其他軟件
mac:
hfs
hfs+ 不能寫入ntfs,如果想要寫入,需要安裝插件,該插件收費
4、用戶和組
linux是一個多用戶多組的操作系統(tǒng)
一個用戶能否屬于多個組
一個組能否擁有多個用戶
一個用戶至少必須屬于一個組,一個用戶必須擁有自己的主組,其他組稱之為附加組
用戶創(chuàng)建
useradd bajie
創(chuàng)建成功之后會留下記錄, tail /etc/passwd
創(chuàng)建一個用戶的同時,會給當(dāng)前用戶創(chuàng)建一個名字一模一樣的組作為該用戶的主組
給用戶添加密碼
passwd 用戶名
這個操作只能在root去給某個普通用戶設(shè)置密碼,在普通用戶下只能給自己修改密碼,不能設(shè)置其他普通用戶密碼
-d : 創(chuàng)建用戶的時候指定家目錄,不指定會在home下面創(chuàng)建一個和用戶名一模一樣的目錄,一般不指定
-g : 指定主組,如果不指定,默認(rèn)創(chuàng)建一個和用戶名一模一樣的組作為主組
-G : 指定附加組
-u :指定用戶id 一般都不用
用戶修改
usermod
-g : 修改主組
usermod -g 501 bajie 修改bajie主組
-l : 修改用戶名
usermod -l wuneng bajie 將bajie用戶名修改為wuneng
-u : 修改用戶id
usermod -u 505 wuneng 將wuneng用戶id修改為505
-d : 修改家目錄
usermod -d /home/lala wuneng 不用
用戶刪除
userdel
userdel 用戶名 只刪除文件中的記錄
userdel -r 用戶名 將家目錄一并刪除
如果操作不規(guī)范,家目錄也可手動干掉
用戶切換
centos里面
su 用戶名
從root切換到普通不用密碼
從普通切換到root,需要輸入root的密碼,通過exit返回上一個用戶
這里面不能sudo,因為不支持,如果要支持,需要相關(guān)配置
Ubuntu里面
不允許root直接登錄,需要配置才可以。
用普通用戶登錄。 sudo 指令,提示輸入密碼,這個密碼是當(dāng)前用戶的密碼
組創(chuàng)建
查看當(dāng)前組, tail /etc/group
groupadd 組名
-g : 可以指定組id
刪除組
groupdel 組名
【注】如果一個組是主組的話,這個組刪不掉
【注】如果一個組是一個用戶的主組,并且僅僅是這個用戶的主組,而且組名和用戶名相同,那么在刪除用戶的同時,該組也就刪除了
修改組
groupmod
-g : 修改組的id號 groupmod -g 513 dudu
-n : 修改組名 groupmod -n xixi dudu
5、文件權(quán)限
權(quán)限什么意思?系統(tǒng)中,文件的權(quán)限都有哪些?讀、寫、執(zhí)行
讀:read r 寫:write w 執(zhí)行:execute x
如果寫一個-代表沒有這個權(quán)限
權(quán)限表示
| rwx | 111 | 7 |
|---|---|---|
| rw- | 110 | 6 |
| r-x | 101 | 5 |
| r-- | 100 | 4 |
| -wx | 011 | 3 |
| -w- | 010 | 2 |
| --x | 001 | 1 |
| --- | 000 | 0 |
| rwx | r-x | r-x |
|---|---|---|
| 所屬用戶權(quán)限 | 組內(nèi)用戶權(quán)限 | 組外用戶權(quán)限 |
權(quán)限表示法:0755 0777 0644
修改權(quán)限修改組的指令不是亂用的,需要root用戶的權(quán)限才能修改,Ubuntu下需要使用sudo,centos需要切換root執(zhí)行
修改權(quán)限:chmod
格式 chmod 權(quán)限 文件路徑
chmod 755 1.txt
chmod g+w,g-x 1.txt
u : 修改所屬用戶
g : 修改組內(nèi)用戶
o : 修改組外用戶
目錄權(quán)限修改
chmod 777 目錄路徑 只修改該目錄的權(quán)限
chmod -R 777 目錄路徑 遞歸修改目錄里面所有文件的權(quán)限
修改用戶:chown
chown 用戶名 文件路徑 只修改用戶名
chown 用戶名:組名 文件路徑 用戶和組都修改
chown :組名 文件路徑 只修改組名
chown -R 用戶名:組名 目錄路徑 遞歸修改目錄里面所有文件的用戶和組
修改組:chgrp
chgrp 組名 文件路徑
chgrp -R 組名 目錄路徑 遞歸修改
umask
是什么?
系統(tǒng)創(chuàng)建文件默認(rèn)權(quán)限是 644
系統(tǒng)創(chuàng)建目錄默認(rèn)權(quán)限是 755
目錄默認(rèn)比文件多了一個可執(zhí)行權(quán)限,對目錄來說,可執(zhí)行就是打開目錄
umask就決定了文件和目錄的默認(rèn)權(quán)限
0777-0022 = 0755 這就是默認(rèn)權(quán)限,文件都少可執(zhí)行權(quán)限
指定umask進行修改,將umask指定為0011
0777-0011 = 0766(目錄) 0666(文件)
6、文件搜索
find
用法如下:
find 在哪找 怎么找 找什么
在哪找:就是一個路徑,默認(rèn)是當(dāng)前路徑
怎么找:按照名字、大小、用戶,其實就是參數(shù)
-name : 按照名字找
-size : 按照大小找
-user : 按照用戶找
-group : 按照組找
-maxdepth : 查找最大目錄級別
-mindepth : 查找最小目錄級別
找什么:1.mp3 *.txt
find / -name dudu.py
find / -size 10k 等于10k的文件
+10k 大于10k的文件
-10k 小于10k的文件
find / *.txt -user liuyan
find / -maxdepth 3 -mindepth 2 -name *.txt 找指定級別的文件