1. 程式人生 > >linux基本命令,目錄文件操作

linux基本命令,目錄文件操作

blkid this 電源 sysconfig 公司 集成 最新 服務端 命名

GNU是一個自由軟件操作系統—就是說,它尊重其使用者的自由。GNU操作系統包括GNU軟件包(專門由GNU工程發布的程序)和由第三方發布的自由軟件。GNU的開發使你能夠使用電腦而無需安裝可能會侵害你自由的軟件。

我們很熟悉的Linux就是采用了GPL.GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣.GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代碼做為閉源的商業軟件發布和銷售.這也就是為什麽我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商業軟件公司開發的免費軟件了.


  GPL協議的主要內容是只要在一個軟件中使用(“使用”指類庫引用,修改後的代碼或者衍生代碼)GPL協議的產品,則該軟件產品必須也采用 GPL協議,既必須也是開源和免費.這就是所謂的“傳染性”.GPL協議的產品作為一個單獨的產品使用沒有任何問題,還可以享受免費的優勢.

  由於GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對於使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發的基礎.

  最常見的開源協議,使用它作為授權協議的有大名鼎鼎的 Linux .GPL最顯著的兩個特點就是網上稱為的“病毒性傳播”和“不允許閉源的商業發布”.

修改網卡
1.修改配置文件名稱
/etc/sysconfig/network-scripts/? 名稱為:ifcfg-xxx
2.修改配置文件內的 device 和name
3.修改內核參數
vi /etc/sysconfig/grub
quiet 前加入 net.ifnames=0 biosdevname =0
4.更新參數
grub2-mkconfig -o /boot/grub2/grub.cfg
5.重啟
shutdown -r now
```

# 遠程連接出現異常的排查思路


01. 確保網絡鏈路是否通暢
ping IP地址信息

解決問題:
a. 虛擬網絡設置是否正確
b. 虛擬主機網卡設置
c. 虛擬主機系統中網絡地址配置

d. 在系統的服務中(window+r->services.msc vmware nat services 是否開啟)
e. 確認物理主機上有和虛擬主機相同虛擬網卡信息(地址配置正確)

02. 有你的女朋友阻止你

解決問題:
a. 網絡安全服務進行了阻止(iptables firewalld 防火墻服務)


03. telnet 地址信息 服務端口號

解決問題:

a. 確認遠程連接服務是否開啟
b. 確認服務端口號信息是否發生了變化

關機

shutdown halt關閉不切電源慎用

poweroff 切電源 init 0

shutdown -h 3 3分鐘後關機

後面加-c可以終止命令

shutdown -r 重啟

shutdown -r now

幫助命令 man mannual 幫助手冊信息
man 命令信息shutdown
命令幫助信息中, 語法中的中括號信息可有可無

補充說明:有些命令是不能通過man手冊獲取幫助信息

[[email protected] ~]# man shutdown
SHUTDOWN(8) shutdown SHUTDOWN(8)

NAME 第一個部分:簡單說明命令的作用
? shutdown - Halt, power-off or reboot the machine
? 暫停; 斷電 or 重啟服務器
?
SYNOPSIS 第二個部分:命令使用規範(命令語法)
? shutdown [OPTIONS...][TIME] [WALL...]

DESCRIPTION 第三個部分:命令的詳細描述說明
? shutdown may be used to halt, power-off or reboot the machine.

OPTIONS 第四個部分:命令的參數說明
? The following options are understood:

--help
Print a short help text and exit.

-H, --halt
Halt the machine.

快捷鍵

ctrl + l 清屏

ctrl+ s 鎖屏

ctrl +q 退出鎖屏

CTRL+ a 光標移到最前方

ctrl+e 光標移到最後方

ctrl+u 光標到行首剪切

CTRL+k 光標到行尾剪切

ctrl+ c 中斷命令執行

ctrl +y 粘貼

ctrl+ 方向左右 按照英文單詞移動光標

tab 補全

pwd

顯示當前路徑

cd ..上一級

cd ~家目錄

cd / 根目錄

ls 查看不隱藏的文件

ls -a 查看所有

按照時間反向排序,顯示最新創建的數據信息
ls -ltr

創建文件夾

mkdir 路徑

路徑開頭不存在的話 mkdir -p 路徑

創建文件

touch 路徑或文件

touch {st1,st2}

4)在空文件中生成據

信息
? echo 將信息進行輸出
?

強調:在linux系統中,盡量不要輸入中文符號信息(命令行)
[[email protected] oldboy]# echo "hello world“
> ^C
[[email protected] oldboy]# ”“”“’‘’‘’》《【】¥¥¥¥()

? [[email protected] oldboy]# echo hello world
? hello world
?
? # 希望將指定的信息輸出到指定文件中
? [[email protected] oldboy]# echo hello world > /oldboy/oldboy.txt
? [[email protected] oldboy]# cat /oldboy/oldboy.txt
? hello world
? [[email protected] oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt
? [[email protected] oldboy]# cat /oldboy/oldboy.txt
? oldboyedu.com
? [[email protected] oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt
? [[email protected] oldboy]# cat /oldboy/oldboy.txt
? oldboyedu.com
? oldboyedu02.com

3)如何查看文件信息
? cat 查看文件信息命令
? [[email protected] oldboy]# cat /etc/hosts
? 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
? ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

利用cat命令和整合多個文件信息到一個文件中
? [[email protected] oldboy]# cat oldgirl.txt
? hello world
? [[email protected] oldboy]# cat oldboy.txt oldgirl.txt
? oldboyedu.com
? oldboyedu02.com
? hello world
? [[email protected] oldboy]# cat oldboy.txt oldgirl.txt >olddog.txt
? [[email protected] oldboy]# cat olddog.txt
? oldboyedu.com
? oldboyedu02.com
? hello world

5)對文件或目錄數據信息進行拷貝(復制)
? copy --- cp
? 語法格式 cp 參數信息 要進行復制的信息 復制到什麽位置
?

# 將/etc/hosts文件復制到/oldboy目錄中

常見問題:
在復制文件時,不要再文件名稱後面加上/ 一般只有目錄後面有/
[[email protected] oldboy]# cp /etc/hosts /oldboy
[[email protected] oldboy]# ll /oldboy/
total 16
drwxr-xr-x. 3 root root 18 Dec 5 09:33 hedanchun
-rw-r--r--. 1 root root 158 Dec 5 10:53 hosts
-rw-r--r--. 1 root root 30 Dec 5 10:17 oldboy.txt
-rw-r--r--. 1 root root 42 Dec 5 10:41 olddog.txt
drwxr-xr-x. 2 root root 6 Dec 5 09:31 oldgirl
-rw-r--r--. 1 root root 12 Dec 5 10:40 oldgirl.txt
[[email protected] oldboy]# cp /etc/hosts /oldboy01
[[email protected] oldboy]# ll /oldboy01
-rw-r--r--. 1 root root 158 Dec 5 10:53 /oldboy01

正確復制文件方法
[[email protected] oldboy]# cp /etc/hosts /oldboy/
cp: overwrite ‘/oldboy/hosts’? y
說明:文件沒有存在會直接復制, 如果已經存在會提示是否覆蓋

如何正確復制目錄信息
[[email protected] oldboy]# cp /etc/sysconfig/ /oldboy/oldgirl/
cp: omitting directory ‘/etc/sysconfig/’
[[email protected] oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl/
[[email protected] oldboy]# ll /oldboy/oldgirl
total 4
drwxr-xr-x. 6 root root 4096 Dec 5 11:03 sysconfig

?
? [[email protected] oldboy]# cp -a /etc/ /oldboy/oldgirl/
? [[email protected] oldboy]# ls /oldboy/oldgirl
? etc sysconfig

# 對文件或目錄數據信息進行剪切(移動)

move -- mv
mv 參數 要移動數據信息 移動到什麽位置
移動/etc/selinux/config 到 /oldboy/shanghai/
[[email protected] oldboy]# ls /oldboy/shanghai
ls: cannot access /oldboy/shanghai: No such file or directory
[[email protected] oldboy]# mkdir /oldboy/shanghai
[[email protected] oldboy]# mv /etc/selinux/config /oldboy/shanghai/
[[email protected] oldboy]# ls /oldboy/shanghai/
config


[[email protected] oldboy]# mv /etc/selinux/config /oldboy/shanghai/
mv: cannot stat ‘/etc/selinux/config’: No such file or directory
[[email protected] oldboy]# mv /oldboy/shanghai/config /etc/selinux/
[[email protected] oldboy]# ls /etc/selinux/
config final semanage.conf targeted tmp

可以對文件信息進行重命名操作
[[email protected] oldboy]# ls
hedanchun hosts oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[[email protected] oldboy]# mv hosts hosts01
[[email protected] oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

7)數據的刪除命令
remove -- rm
rm 參數 要刪除的數據信息

# 刪除oldboy目錄中的hosts01文件
[[email protected] oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[[email protected] oldboy]# rm hosts01
rm: remove regular file ‘hosts01’? y
[[email protected] oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

# 刪除目錄操作
[[email protected] oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[[email protected] oldboy]# rm shanghai/
rm: cannot remove ‘shanghai/’: Is a directory
[[email protected] oldboy]# rm -r shanghai/
rm: remove directory ‘shanghai/’? y

# 如何強制刪除數據信息
[[email protected] oldboy]# rm -f olddog.txt
[[email protected] oldboy]# ls olddog.txt
ls: cannot access olddog.txt: No such file or directory
[[email protected] oldboy]# rm -fr hedanchun
[[email protected] oldboy]# ls hedanchun -d
ls: cannot access hedanchun: No such file or directory

[[email protected] oldboy]# rm -fr / oldboy/oldboy.txt
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
[[email protected] oldboy]# rm -fr / --no-preserve-root
說明:默認從centos6.7 開始就有/目錄自我保護機制
# 文本編輯命令說明

vi == nodepad++
vi 你要編輯的文件信息

# 編輯文件的操作步驟
第一個裏程:利用vi命令打開文件
vi oldboy.txt

第二個裏程:進入到編輯模式,開始編輯文件
按鍵盤上 小寫字母 i == insert

第三個裏程:進行編輯

第四個裏程:退出編輯模式
按 esc 進行退出

第五個裏程:關閉打開的文件
:wq w-write q-quit 保存退出
:q 不保存進行退出

less+文件名 ##分頁瀏覽,按q退出
head -n 1 文件名 ##顯示文件的前1行
tail -n 1 文件名 ##顯示文件的後1行
wc -l 文件名 ##查看文件行數
wc -w 文件名 ##查看文件字數
wc -c 文件名 ##查看文件字節數

su - username ##超戶切換到普通用戶不用密碼,普通用戶切換到超戶用密碼

mkdir -p +目錄名 ##遞規創建(同時創建文件夾)
rm -f ##強行刪除不提示
rm -r ##刪除目錄,有提示
ls -d directory ##列出目錄本身
ls -R ##遞規顯示目錄中的內容
cp -r directory directory1 ##復制目錄

bash特性

一、Tab補全

二、查看命令的執行情況

bash通過狀態返回值來輸出次結果

三、命令行歷史

命令歷史一般記錄在.bash_history文件中,默認記錄1000條

四、命令行展開

~:當前用戶的家目錄

~USERNAME: 給定用戶的家目錄 比如cd ~ cd ~ nick

{}:可寫一個以逗號分割的列表,將其展開為多個路徑

/tmp/{x/{a,b},y,z} = /tmp/x/a/,/tmp/x,b , /tmp/y/,/tmp/z/

五、快捷鍵

六、別名

在type一個命令的時候有時候出現像這樣的

[[email protected] ~]# type ls
ls is aliased to `ls –color=auto’

ls是 ls–color的別名;

我們可以用alias查看現有的別名信息

我們也可以定義別名

alias x=‘xx’

給xx命令取別名x(只在當前有效)

以後就可以按x來替代xx

[[email protected] ~]# alias k=’cat -n’
[[email protected] ~]# k /tmp/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Sat Mar 31 17:44:44 2018
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 UUID=8c871ca3-ae83-463b-b8af-f282002eae08 / xfs defaults 0 0
10 UUID=f3445f8b-4d91-48b1-9586-d3f991e5f8cf /boot xfs defaults 0 0
11 UUID=3f5344d8-cf5a-4596-9acc-2ecd76cb2bec swap swap defaults 0 0
12 /dev/sr0 /media iso9660 defaults 0 0
13

我們也可以取消別名

用unalias +別名就可以

[[email protected] ~]# unalias k

七、通配

(1) * 任意數量的字符 : 0+

a*b a-b之間可以任意數量的字符,可以沒有,也可以很多個

(2)? 任意單個字符 : 1

a?b a-b之間有且一個字符

(3)[ ] 匹配指定範圍內的任意單個字符 : 指定範圍 1

[0-9] : 0-9之間任意單個字符

[a-z]:不區分字符大小寫

(4) [^] 匹配指定範圍之外的任意單個字符 : 指定範圍之外 1
[^0-9] 0-9之外的字符

[^a-z] 非大寫和小寫字母字符

專用字符集合:(使用的時候需要外加 ‘[ ]‘)就像[[:digit:]]
[:digit:]:任意數字,相當於0-9

[:lower:]:任意小寫字母

[:upper:]: 任意大寫字母

[:alpha:]: 任意大小寫字母

[:alnum:]:任意數字或字母

[:punct:]:標點符號

linux基本命令,目錄文件操作