文章目錄
- 悄悄來到Linux
- 進入Linux(已配置完畢)
- 一切皆檔案
- 常用的命令
- 根據實體來升級
- 檔案
- 用戶
- 行程(process)
- 磁盤磁區(disk)
- 埠號
- 其他
悄悄來到Linux
在我們熟悉了Windows的騷操作以后,我們也可以嘗試一下其他的作業系統,而對檔案和資料最敏感的莫過于Linux作業系統了吧,
- 知名版本
- Ubuntu
- RedHat
- Centos
- Debain
- OpenSUSE
- Fedora
Windows和Linux的區別:

看一下我做的一個最簡化版的走進Linux:

進入Linux(已配置完畢)
不會有人看不到上面的最大的字吧,對,你沒看錯,Linux一切皆檔案 ,所以我們在Linux里面的一切操作都是對檔案進行操作,
一切皆檔案
| 目錄名 | 簡介 |
|---|---|
| /bin | 是Binary的縮寫, 這個目錄存放著最經常使用的命令 |
| /sbin | /user/sbin s就是Super User的意思,這里存放的是系統管理員使用的系統管理程式 |
| /home | 存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的 |
| /root | 該目錄為系統管理員,也稱作超級權限者的用戶主目錄 |
| /etc | 所有的系統管理所需要的組態檔和子目錄 |
| /usr | 這是一個非常重要的目錄,用戶的很多應用程式和檔案都放在這個目錄下,類似于windows下的program files目錄/usr/x11r6 存放x window的目錄 /usr/bin 眾多的應用程式 /usr/sbin 超級用戶的一些管理程式 /usr/doc linux檔案 /usr/include linux下開發和編譯應用程式所需要的頭檔案 /usr/lib 常用的元件和軟體包的組態檔 /usr/man 幫助檔案 /usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的庫 |
| /lib | 系統開機所需要最基本的動態連接共享庫,其作用類似于Windows里的DLL檔案,幾乎所有的應用程式都需要用到這些共享庫, |
| /boot | 這里存放的是啟動Linux時使用的一些核心檔案,包括一些連接檔案以及鏡像檔案,自己的安裝別放這里 |
| /proc | 這個目錄是一個虛擬的目錄,它是系統記憶體的映射,我們可以通過直接訪問這個目錄來獲取系統資訊 |
| /srv | service縮寫,該目錄存放一些服務啟動之后需要提取的資料 |
| /sys | 這是linux2.6內核的一個很大的變化,該目錄下安裝了2.6內核中新出現的一個檔案系統 sysfs |
| /tmp | 這個目錄是用來存放一些臨時檔案的 |
| /dev | 類似于windows的設備管理器,把所有的硬體用檔案的形式存盤 |
| /run | 是一個臨時檔案系統,存盤系統啟動以來的資訊,當系統重啟時,這個目錄下的檔案應該被刪掉或清除,如果你的系統上有 /var/run 目錄,應該讓它指向 run |
| /mnt | 系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將外部的存盤掛載在/mnt/上,然后進入該目錄就可以查看里的內容了 |
| /opt | 這是給主機額外安裝軟體所擺放的目錄,比如你安裝一個mysql資料庫則就可以放到這個目錄下,默認是空的 |
| /var | 這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下,包括各種日志檔案 |
常用的命令
我們學習作業系統,總得知道一些最常用的東西吧!下面一起看一下吧
| 操作指示 | 用法 | 實體 |
|---|---|---|
| cd(進入) | cd 目錄名/檔案名cd cd 絕對路徑 切換路徑 cd相對路徑 切換路徑 cd ~或者cd 回到自己的家目錄 cd - 回到上一次所在目錄 cd … 回到當前目錄的上一級目錄 cd -P 跳轉到實際物理路徑,而非快捷方式路徑 | cd /etc/sysconfig/network-scripts/ |
| pwd | 查看當前路徑 | ![]() |
| mkdir(創建目錄) | 創建目錄mkdir [-p] 目錄名(多層創建) | ![]() |
| vi/vim(編輯) | ![]() | ![]() |
| ls | ll=ls -l ls ls -all | ![]() |
| history | 查看命令歷史 | ![]() |
| rm | rm -rf | ![]() |
| cp(復制) | cp 【-r遞回整個目錄】 source[源檔案] dest[目標檔案] | ![]() |
| mv(移動或重命名) | mv oldName NewName mv old目錄 new新地址 | ![]() |
| 開關機重啟 | (1)sync (功能描述:將資料由記憶體同步到硬碟中) (2)halt (功能描述:關閉系統,但不斷電,等同于shutdown -h now 和 poweroff) (3)reboot (功能描述:就是重啟,等同于 shutdown -r now) (4)shutdown [選項] 時間 | 正確的關機流程為:sync > shutdown > reboot > halt |
在學會上面的命令過后,正常使用Linux是沒有問題了,但是,我們學習它,不能就這么膚淺吧,難道你買了一個筆記本電腦,就真當筆記本用呀!!!不能吧,和我升級一下自己的能力,
根據實體來升級
檔案
1、現在我要查詢所有java檔案,怎么看?
[root@pier mkFile]# find /* -name *.java
/etc/.java
find: ‘/run/user/1000/gvfs’: 權限不夠
/usr/share/doc/python2-cryptography-1.7.2/docs/development/custom-vectors/rsa-oaep-sha2/VerifyRSAOAEPSHA2.java
知識衍生:
- find :注-name 檔案名加*可以實作模糊查詢
find [搜索范圍] [選項]
- grep
使用方法:rep 選項 查找內容 源檔案
2、查看大于100M的檔案,你們怎么做?
[root@pier mkFile]# find / -size +100M
/proc/kcore
/run/media/master/CentOS 7 x86_64/LiveOS/squashfs.img
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/var/spool/abrt/ccpp-2021-12-13-23:45:02-3992/coredump
/usr/lib/locale/locale-archive
/usr/lib64/firefox/libxul.so
3、那我要查詢一個叫firef什么的檔案怎么辦呢?
你要這樣查嗎?
find / -name firef*
其實還可以這么查
locate firef
知識衍生:
locate : locate快速定位檔案路徑一般用戶模糊查詢
注:在首次使用時,記得update更新一下資料庫喲
可編輯檔案:
1、現在我要查看一下/root/test/xiaoaojianghu.txt檔案,你怎么查看呢?
不管其他,我現在肯定可以這樣吧:
cd /root/test
方式一:使用vi/vim+檔案名查看
vim xiaoaojianghu.txt
方式二:使用head+[-n+]檔案名查看(局限:只能指定看前幾行)
head xiaoaojianghu.txt
方式三:使用tail+[-n+]檔案名查看(局限:只能指定看后幾行)
tail -5 xiaoaojianghu.txt
方式四:使用cat+[-n+]檔案名(-n是用來看行號的)
cat -n xiaoaojianghu.txt
方式五:使用more+檔案名
more xiaoaojianghu.txt

方式六:使用less+檔案名(相對于more更簡潔,節約資源)
less xiaoaojianghu.txt
注:優點:看完之后關閉,類似與txt檔案查看,但是不方便復制檔案,
2、檔案看了,我想試試添加,現在我要在/home/test.txt檔案里面加一個"給pier來個三連呀!",你們怎么弄?
首先還是先進入嘛
cd home
方式一:vi/vim(這種方式有點普通,所以自己寫)
方式二:通過> 或>>進行追加
[root@pier home]# echo "給pier來個三連呀!" >> test.txt
[root@pier home]# cat test.txt
1234123
hvufcdbvgyh
給pier來個三連呀!
知識衍生:
echo: 可以多種使用,檔案追加,還有直接輸出等!
[root@pier home]# echo "給pier來個三連呀!"
給pier來個三連呀!
> 輸出重定向和 >> 追加
[root@pier home]# echo "給pier來個三連呀!" > test.txt
[root@pier home]# cat test.txt
給pier來個三連呀!
簡單來說就是> 是覆寫追加,而>>則是末尾添加,
用戶
1、公司新來了一個人pier,要對系統進行使用,這時候我們需要為他新建一個用戶吧,并切換到pier用戶
[root@pier home]# useradd pier
[root@pier home]# passwd pier
更改用戶 pier 的密碼 ,
新的 密碼:(這里不用管,密碼不會顯示的)
無效的密碼: 密碼少于 8 個字符(這里不用管8位,你隨意就好,只要密碼一致)
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新,
[root@pier home]# su pier
2、pier來到公司這么久了,又和公司老板的女兒有不清不楚的關系,老板給他升級了,需要頻繁登錄root權限和自己的權限,他想修改一下,自己可以免密登錄root,他能怎么做呢?
注:切換root用戶命令: sudo -s
? 直接登錄是需要輸入root密碼的,
方法:使用vi/vim修改/etc/sudoers檔案,找到下面這兩行代碼
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
并照樣子添加
root ALL=(pier) NOPASSWD: ALL
保存退出時加個!強制,或者你出去修改一下檔案權限,但是修改完之后記得改回來喲,修改權限命令,切換過后 sudo whoami 可以檢查
修改時的命令:chmod u+w /etc/sudoers
改回來的命令:chmod u-w /etc/sudoers
注:這個方法不唯一,但是這個是我能想到比較簡單且最直接有效的方法,也可以嘗試去修改組,將用戶的密碼在組內公開,我還沒嘗試過,但是理論上肯定是可行的,
知識衍生:
用戶組:
這里提到了用戶組,那就在這里提一下用戶組吧!
用戶組管理
添加
groupadd 組名
洗掉
groupdel 組名
修改
groupmod -n 新組名 老組名
查看
cat /etc/group
添加用戶進組:
[root@pier etc]# usermod -g bigdata pier
[root@pier etc]# id pier
uid=1003(pier) gid=1002(bigdata) 組=1002(bigdata),10(wheel)
用戶權限:
當你打開某個檔案時,有時候并沒有修改的權限,那我們就來講講用戶權限的事情,
我們先隨意使用ll查看一個檔案夾,為了給大家演示,我就使用/目錄吧:
我們大概可以看到下面這樣子的一些東西

我們一起來了解一下前面框框里面的東西吧:

-
0首位表示型別
在Linux中第一個字符代表這個檔案是目錄、檔案或鏈接檔案等等
- 代表檔案(這里沒有,但是自行可以嘗試下其他目錄)
d 代表目錄(如:root)
l 鏈接檔案(link file)(如:bin -> usr/bin)
-
1-3該檔案的所有者
-
4-6該用戶所有者所在組的權限
-
7-9其他用戶的權限

3、pier拿到了巨大的權限后賺了不少錢,最近花花公子花花心了,和公司老板女兒鬧別扭了,又有錢了,經常去夜店,老板女兒又吃醋了,給老板告了一狀,開除了,那么系統里面也不能有他的名字了吧,免得老板生氣呀!你怎么辦呢?
你不會這樣吧:
[root@pier /]# userdel pier
userdel: user pier is currently used by process 3015
[root@pier /]# id pier
uid=1003(pier) gid=1002(bigdata) 組=1002(bigdata),10(wheel)
哦豁,完犢子了,權限不夠,那我們就找權限夠的來呀
于是,我們可以 sudo userdel -rf pier(切換到root下面)
注:如果出現
[root@pier ~]# sudo userdel -rf pier
userdel: user pier is currently used by process 3015
userdel:組“pier”沒有移除,因為它不是用戶 pier 的主組
記得來一句,groupdel pier洗掉用戶組
行程(process)
1、上面洗掉pier的時候,我們發現了有一個3015行程在被使用,不能洗掉,所以我們再來看看行程,剛才是因為我是使用遠程登陸的,在虛擬機中pier用戶沒有退出,所以洗掉有問題,那現在我們在說自己的虛擬機里面打開一個軟體,我這里打開firefox,在查看一下所有行程,
查看行程
ps -ef | grep firefox
結束行程
killall firefox
我們在之后的學習中或多或少都會用到行程,所以我們在這里也為大家說一下行程的查看和關閉,至于建立行程就沒必要了,因為打開一個東西,就伴隨著他的行程打開,
行程是正在執行的一個程式或命令,每一個行程都是一個運行的物體,都有自己的地址空間,并占用一定的系統資源,
查看行程命令
- ps 查看當前行程
ps -aux | grep xxx (功能描述:查看系統中所有行程)
ps -ef | grep xxx (功能描述:可以查看子父行程之間的關系)

終止行程
- kill 終止行程
- kill [選項] 行程號
- killall 行程名稱
- -9 表示強迫行程立即停止
- pstree 查看行程樹
- -p 顯示行程PID
- -u 顯示行程所屬用戶
查看行程狀態
- top 查看系統健康狀態
-d 秒數 (重繪時間,默認3秒)
-i 使top不顯示任何閑置或者僵死行程,
-p 通過指定監控行程ID來僅僅監控某個行程的狀態,
注:下面的操作是進入top行程狀態后使用的,

top頁面展示

磁盤磁區(disk)
1、在安裝的時候,我的電腦不行,只分配了了20G的大小,可是長期的使用,保存資料,日志越來越大,我也不知道我的電腦占了多少了,我該怎么辦呀?
解答:我們在購買電腦的時候,都會涉及到一個東西哦,電腦會磁區吧,至少得分成2個盤甚至更多的吧!因為我們都知道C盤不能有太多東西,會卡,那么Linux自然也是如此我們也可以有多個磁區,所以我們也能顯示磁盤使用df -lh ,加上-l是因為好看,可以選擇不加,因為上面解釋的很清楚,就不解釋了,

2、嗯,雖然沒占用多少,我能看一下磁區嗎?還有,萬一未來那一天,我使用時快滿的時候我能怎么辦呢?
查看磁區詳情
fdisk -l

查看磁盤掛載情況
lsblk -f
掛載和卸載磁盤
mount [-t vfstype] [-o options] device dir (功能描述:掛載設備)
umount 設備檔案名或掛載點 (功能描述:卸載設備)

注:掛載,你可以理解為插U盤,卸載就是彈出來,
埠號
? 一般情況下,我們在學習階段不會遇到埠號被占用的情況,但是,不代表一直能不遇到,所一再提一點埠小知識嘛,
- 顯示網路統計資訊和埠占用情況
netstat
netstat -anp | grep 行程號 (功能描述:查看該行程網路資訊)
netstat –nlp | grep 埠號 (功能描述:查看網路埠號占用情況)

例:
查看埠號22的占用情況:

其他
注:我們作為初學者,一定要控制好自己的手呀,控制不好,就請注意,在你配置好基礎環境時,千萬記得要克隆一臺呀,不然,霍霍不起,就等20分鐘你再做一條好漢吧!!!!!最后給大家帶來一段才藝!

嘻嘻!這只是一臺克隆機,大家千萬別搞呀!!!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/382878.html
標籤:其他
上一篇:動態記憶體分配









