Linux云計(jì)算學(xué)習(xí)筆記day10

一.文件類型

預(yù)備姿勢:.avi .txt .log .sh

Windows:系統(tǒng)根據(jù)不同的擴(kuò)展名 區(qū)分不同類型的文件。
Linux:擴(kuò)展名是給我們看的。方便人類區(qū)分不同類型的文件。

預(yù)備姿勢:常見的擴(kuò)展名

.txt 文本文件
.log 日志文件
.conf .cfg 配置文件
.sh .bash 腳本文件(命令大禮包)

常見的文件類型:

-file 普通文件
d directory 目錄
l softlink 軟連接(快捷方式)
b block 設(shè)備(塊)文件 光盤 硬盤
c character 字符設(shè)備(不斷向外發(fā)出或接受字符)

file 普通文件

1.二進(jìn)制文件(命令)
2.文本文件 (text)
3.數(shù)據(jù)文件 (data)壓縮包

-rwxr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/ls
-rw-r--r--  1 root root      0 Mar 29 09:03 /oldboy/alex.txt

如何區(qū)分文件類型(如何查看)

file

[root@oldboyedu59 oldboy]# file /bin/ls  /oldboy/alex.txt 
/bin/ls:          ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped
/oldboy/alex.txt: ASCII text

/etc/init.d/network 
                               #CentOS6
systemctl restart network ====  /etc/init.d/network restart 

d 目錄 (文件夾)
l softlink 軟連接/符號鏈接(快捷方式) 存放源文件的位置

創(chuàng)建軟連接
touch /oldboy/oldboy.txt 
[root@oldboyedu59 oldboy]# touch /oldboy/oldboy.txt
[root@oldboyedu59 oldboy]# ls -l /oldboy/
total 8
drwxr-xr-x. 3 root root 19 Mar 28 11:57 alex
-rw-r--r--  1 root root  7 Apr  9 15:08 alex.txt
-rw-r--r--  1 root root 65 Apr  1 20:52 oldboy.avi
-rw-r--r--  1 root root  0 Apr  9 15:19 oldboy.txt
-rw-r--r--. 1 root root  0 Mar 28 12:38 oldboy.txt.bak
[root@oldboyedu59 oldboy]# ln -s  /oldboy/oldboy.txt  /oldboy/oldboy.txt.soft
[root@oldboyedu59 oldboy]# ls -l /oldboy/
total 8
drwxr-xr-x. 3 root root 19 Mar 28 11:57 alex
-rw-r--r--  1 root root  7 Apr  9 15:08 alex.txt
-rw-r--r--  1 root root 65 Apr  1 20:52 oldboy.avi
-rw-r--r--  1 root root  0 Apr  9 15:19 oldboy.txt
-rw-r--r--. 1 root root  0 Mar 28 12:38 oldboy.txt.bak
lrwxrwxrwx  1 root root 18 Apr  9 15:20 oldboy.txt.soft -> /oldboy/oldboy.txt
[root@oldboyedu59 oldboy]# file /oldboy/oldboy.txt.soft 
/oldboy/oldboy.txt.soft: symbolic link to `/oldboy/oldboy.txt'

[root@oldboyedu59 oldboy]# ls -l /bin  /sbin  /etc/init.d  /etc/rc.local 
lrwxrwxrwx. 1 root root  7 Mar 26 11:38 /bin -> usr/bin
lrwxrwxrwx. 1 root root 11 Mar 26 11:37 /etc/init.d -> rc.d/init.d
lrwxrwxrwx. 1 root root 13 Mar 26 11:39 /etc/rc.local -> rc.d/rc.local
lrwxrwxrwx. 1 root root  8 Mar 26 11:38 /sbin -> usr/sbin

b block     設(shè)備(塊)文件 光盤 硬盤
[root@oldboyedu59 oldboy]# ls -l /dev/cdrom /dev/sr0  /dev/sda
lrwxrwxrwx 1 root root      3 Apr  3 14:39 /dev/cdrom -> sr0
brw-rw---- 1 root disk   8, 0 Apr  3 14:39 /dev/sda
brw-rw---- 1 root cdrom 11, 0 Apr  3 14:39 /dev/sr0

c character 字符設(shè)備(不斷向外發(fā)出或接受字符)
/dev/urandom 隨機(jī)字符生成器 (生成隨機(jī)密碼)
/dev/null 黑洞(不斷接受信息)
/dev/zero 白洞(不斷發(fā)出信息 無法查看)

[root@oldboyedu59 ~]# echo {a..z}  {0..10} > /oldboy/oldboy.txt
[root@oldboyedu59 ~]# cat /oldboy/oldboy.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 10

[root@oldboyedu59 ~]# tr 'a-z'  'A-Z'  </oldboy/oldboy.txt
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10
[root@oldboyedu59 ~]# #刪除
[root@oldboyedu59 ~]# #tr -d '要?jiǎng)h除的內(nèi)容'    </oldboy/oldboy.txt
[root@oldboyedu59 ~]# tr -d 'a-z'    </oldboy/oldboy.txt
                          0 1 2 3 4 5 6 7 8 9 10
[root@oldboyedu59 ~]# #tr -cd  
-d刪除  
-c取反
[root@oldboyedu59 ~]# tr -cd 'a-z' </oldboy/oldboy.txt
abcdefghijklmnopqrstuvwxyz[root@oldboyedu59 ~]# 

[root@oldboyedu59 ~]# tr -cd 'a-zA-Z0-9'   </dev/urandom |head -c 8
xoRe6cQs[root@oldboyedu59 ~]# 

Linux文件類型:

- file      普通文件
d diectory  目錄
l softlink  軟連接(快捷方式)
b block     設(shè)備(塊)文件 光盤 硬盤
c character 字符設(shè)備(不斷向外發(fā)出或接受字符)

file
tr -c -d
ln -s

查詢相關(guān)命令;

[root@oldboyedu59 ~]# \which sed awk grep
/usr/bin/sed
/usr/bin/awk
/usr/bin/grep

which:顯示命令的全路徑
whereis:顯示命令及其相關(guān)文件全路徑

yum故障集合:

Error: Nothing to do
No package locate available.
沒有叫做 locate 的軟件包

如何查詢命令屬于哪個(gè)軟件包

軟件包-多個(gè)命令

yum provides locate

mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
軟件包叫mlocate el7(centos7) 64位
Repo : base
Matched from:
Filename : /usr/bin/locate

安裝:yum install -y mlocate

光盤安裝

[root@oldboyedu59 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu59 ~]# ls /mnt/
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@oldboyedu59 ~]# rpm -ivh    /mnt/Packages/mlocate-0.26-8.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
    package mlocate-0.26-8.el7.x86_64 is already installed
[root@oldboyedu59 ~]# rpm -qa mlocate 
mlocate-0.26-8.el7.x86_64

光盤安裝

[root@oldboyedu59 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu59 ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@oldboyedu59 ~]# rpm -ivh /mnt/Packages/mlocate-0.26-8.el7.x86_64.rpm
Preparing... ################################# [100%]
package mlocate-0.26-8.el7.x86_64 is already installed
[root@oldboyedu59 ~]# rpm -qa mlocate
mlocate-0.26-8.el7.x86_64


##查找find 
[root@oldboyedu59 ~]# find  /oldboy -type f  -name "oldboy.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/oldboy.txt

通過find命令找出ip命令的位置。
[root@oldboyedu59 ~]# find  /oldboy -type f  -name "*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex.txt
/oldboy/oldboy.txt


tree  -L 1  -d 


[root@oldboyedu59 ~]# find / -type d -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
warning 警告 
-maxdepth 這個(gè)參數(shù)要放在其他參數(shù)之前。

[root@oldboyedu59 ~]# find /  -maxdepth 1 -type d 
/
/boot
/dev
/proc
/run
/sys
/etc
/root
/var
/tmp
/usr
/home
/media
/mnt
/opt
/srv
/old
/oldboy
/lidao
/oldwang
/newwang
/data
/tmp01

find -iname參數(shù)

[root@oldboyedu59 ~]# find  /oldboy/alex/   -type f  -name "oldboy*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt
[root@oldboyedu59 ~]# find  /oldboy/alex/   -type f  -iname "oldboy*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt
/oldboy/alex/OLDboy01.txt
/oldboy/alex/OLDboy02.txt
/oldboy/alex/OLDboy03.txt
/oldboy/alex/OLDboy04.txt
/oldboy/alex/OLDboy05.txt
[root@oldboyedu59 ~]# 

習(xí)題:找出/etc/目錄下第1層目錄中以.conf結(jié)尾的文件(不區(qū)分大小寫)

完成后發(fā)出命令
find /etc/ maxdepth 1 -type f -iname " *.conf "

xargs 分組

root@oldboyedu59 ~]# echo {1..10}  >/oldboy/sf.txt
[root@oldboyedu59 ~]# cat /oldboy/sf.txt
1 2 3 4 5 6 7 8 9 10

[root@oldboyedu59 ~]# xargs -n2 </oldboy/sf.txt
1 2
3 4
5 6
7 8
9 10

tar:打包壓縮命令

文本文件(配置)備份

Windows:壓縮(winrar 好壓 2345壓縮)
Linux:打包壓縮

tar

創(chuàng)建壓縮包

/etc 目錄 壓縮完成放在/tmp/etc.tar.gz (通過tar打包 gzip進(jìn)行壓縮)
z 通過gzip工具進(jìn)行壓縮 
c create 創(chuàng)建包
v verbose 顯示過程 
f 指定壓縮包(放在最后)

    tar zcvf   /tmp/etc.tar.gz  /etc/ 

    tar zcf   /tmp/etc.tar.gz  /etc/ 

##查看壓縮包的內(nèi)容 
tar ztf  /tmp/etc.tar.gz 
t list  查看壓縮包內(nèi)容

##解壓(默認(rèn)解壓到當(dāng)前目錄)
tar zxf  /tmp/etc.tar.gz 
[root@oldboyedu59 tmp]# tar xf /tmp/etc.tar.gz  -C /opt/
[root@oldboyedu59 tmp]# ls -l /opt
total 12
drwxr-xr-x 79 root root 8192 Apr  9 16:35 etc

【巨坑】tar讓你迷茫的提示: Removing leading `/' from member names
http://www.itdecent.cn/p/631618020430

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容