硬核乾貨!初識Linux(1)

2021-09-29 06:43:41 字數 4398 閱讀 7964

在這第乙個星期的學習中,因為需要在oracle vm virtualbox虛擬機器上的ubuntu上進行操作,所以先是了解了linux的一些背景以及一些日常使用到的基礎命令。在pc端,目前的作業系統主要有著windows、mac os、以及unix三大操作系,而linux是unix作業系統的最重要的乙個分支。

linux的基礎命令有很多,在這裡,我只是列舉一些我認為在日常操作中會經常使用的命令以及需要注意的一些點:

touch —— 建立空白檔案

mkdir —— 建立目錄

建立平級目錄

mkdir day01 day02 day03

-p 建立聯級目錄

mkdir -p day01/code

rm —— 刪除檔案

rm a,txt b,txt c,txt

-i : 詢問是否刪除 :rm -i a,txt

-r : 刪除非空目錄(遞迴刪除):rm -r a,txt

-f : 強制刪除

pwd —— 顯示當前工作目錄(路徑)

cd —— 改變工作路徑

ls —— 列出檔案和資料夾

-a : 顯示所有的檔案(目錄也稱為檔案,包括隱藏檔案)

-1 : 以詳細的方式顯示

-t :按時間先後順序排序顯示 最新的檔案最先顯示

-r :逆序排序顯示 最新的檔案最後顯示

drwxrwxr-x 2 ubuntu ubuntu 4096

10月 2916:

24 code

① 第乙個字元表示檔案型別:

d – 目錄

- – 普通檔案

l – 鏈結檔案

s – socket 檔案

p – 管道檔案

② rwxrwx-x : 代表檔案屬性

第一組rwx代表 :屬主 檔案擁有者自己的許可權

第二組rwx代表 : 屬組 同組使用者

第三組rwx代表 : 其他使用者

r – read 代表可讀許可權

w – write 代表可寫許可權

x – excute 代表可執行許可權

- – 代表沒有改許可權

③ 2 表示硬鏈結數:只有當硬鏈結數為0時該檔案才會被真正刪除

④ ubuntu ubuntu : 使用者名稱 組名

⑤ 4096 : 檔案大小(目錄4096)

⑥ 10月 29 16:24 : 檔案最後修改時間

⑦ code : 檔名

clear —— 清除清理介面

cat ——檢視檔案的內容

tac —— 反向瀏覽

-a :顯示出特殊的字元 (換行–> $ tab鍵(製表鍵)–> ^i )

-n :顯示行號

-e :把換行符顯示成 $

-t :能夠區分tab 還是空格

echo —— 顯示內容

經常與輸出重定向搭配使用:

echo [內容] > [檔案] //清空寫入到檔案中

echo [內容] >> [檔案] //追加寫入到檔案中

man —— linux手冊

當遇到那些沒遇見過得的 或是 不會使用的linux操作命令時,便可以使用 man命令 查詢linux手冊。

chmod —— 修改許可權

許可權直接可以用數字來進行修改

7 rwx 111

6 rw- 110

5 r-x 101

4 r-- 100

3 -wx 011

2 -w- 010

1 --x 001

0 — 000

ln —— 硬鏈結數

grep —— 根據檔案內容查詢

grep [選項] 匹配的字串 檔名

( 檢視某個檔案中是否包含某個字串 )

-n :顯示行號

-c :統計次數

-i :忽略大小寫

-r :進入到目錄下查詢

find /

-name "*.c"

| xarge grep "time"

統計所有的.c檔案中包含time 這個字串的記錄

xarge :將前面find查詢出來的,乙個個作為後面grep的引數

cp —— 拷貝

cp 路徑/檔案 路徑/(可以保留之前的名字)

cp 路徑/檔案 路徑/新檔名( 改變之前的名字)

-r :拷貝目錄

-i :詢問是否覆蓋(如果沒有直接覆蓋)

-f :強制執行

mv – 剪下

mv day01 ./xx/:把day01移動到xx目錄中

mv day01 ./xx/newname:把day01移動到xx目錄中,並重命名newname

mv day01 day02:把day01拷貝到day02中,覆蓋之前day02中的內容

mv day01 day02/: 把day01拷貝到day02下,不會覆蓋之前day02中的內容

模糊匹配: ( rm mv cp …)
*       :代表任意多個任意字元

[x-y] :代表x-y之間的任意字元

[abc] :代表a,b,c任意乙個字元

? :代表任意乙個字元

\* :代表*字元本身

\? :代表?本身

vi / vim —— 純文字編輯器

vi + [檔名] //進入到命令模式,只能識別命令
命令模式:
① shift zz :儲存退出

② i,i,a,a,o,o :進入編輯模式

i:在游標位置前面插入

i:在游標行首插入

a:在游標位置後面插入

a:在游標行行尾插入

o:在游標行下一行插入新行

o:在游標行上一行插入新行

③ 移動游標位置:h(左)j(下)k(上)l(右)

$ :定位到本行(游標所在行)行尾位置

^ :定位到本行(游標所在行)行首位置

gg :定位到第一行

g :定位到最後一行(末尾行)

ngg(== ng) : n代表數字,定位到第n行

ctrl + m/n :向下

shift + m :定位到螢幕中間位置

n + enter :往後跳n行

④ 刪除行(刪除的內容其實是放到剪貼簿中)

dd : 刪除游標所在行

ndd : 刪除從游標開始的n行

⑤ 複製行

yy :複製游標所在行

nyy :從游標行開始複製n行

⑥ 貼上行

p :貼上到游標所在行的下一行

⑦ 撤銷命令

u :撤銷回之前的步驟 (可以一直撤銷)

ctrl + r :反悔撤銷

⑧ 改寫

r :只能改寫乙個字元

r :進入到改寫狀態

esc :退出改寫狀態

底行模式:
q! :強制退出(不儲存)

q :退出(如果修改,必須強制退出)

w :儲存

wq : 儲存退出

n1,n2 co n3 :複製

n1,n2 mo n3 : 剪下

可視模式:
v : 進入可視模式,操作塊

ctrl+v : 進入可視塊

i : 可視塊前插入

a :可視塊後插入

d :刪除

y :複製

c :修改

gu : 小寫

gu : 大寫

g~ :大小寫轉換

注意:按esc會影響到整個可視塊的內容

本次的學習主要便是了解了linux的一些基礎命令的使用操作,在我看來,重點主要在於模糊匹配,以及對vi文字編輯器的熟練使用,這是對接下來的c語言學習進行的必要的鋪墊基礎。

Linux(1) 常見用法

1 放大終端,ctrl shift 2 切換目錄,cd 切換到個人家目錄 3 pwd 檢視當前目錄 4 ls 檢視當前目錄的檔案和子目錄 ls a 顯示所有檔案,包括隱藏檔案 5 清屏,clear,或者ctrl l 6 新建資料夾 目錄 mkdir 資料夾名 目錄名 例如 mkdir src 7 編...

Linux 1 基本環境

當前目錄 pwd 手動設定ip位址以後,虛擬機器不能連線到網際網路 清屏 clear 建立使用者 useradd username 設定密碼 passwd username 切換使用者 su username 每建立乙個使用者,都有乙個相應的使用者主目錄 檢視主機名 hostname 臨時設定主機名...

Linux(1)目錄結構

linux目錄結構有 目錄作用 bin存放最常使用的命令 sbin 存放系統管理員的管理程式 home 普通使用者的主目錄,每個使用者一般都有自己的目錄並以使用者名稱命名 root root使用者的主目錄 lib啟動linux時使用的核心檔案 proc 虛擬目錄,系統記憶體的對映,可直接通過訪問該目...