歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 基礎命令學習

基礎命令學習

日期:2017/3/3 12:42:11   编辑:Linux技術

hexdump -C f1 查看文件裡面的16進制的顯示,

linux和win的記事本二進制格式是不同的,這樣就會有些人把在windwos上面寫好的腳本文檔,直接移動到linux上面來,shell腳本沒有問題,但是總是報錯,這就是二進制格式不同造成的,我們可以通過一個命令doc2unix來在不同系統上面轉換文檔

[root@zou tmp]# cat abc 這個abc是在linux上面建立的正常文檔

a

b

c

我們通過hexdump可以查看文件裡面每一個字符的16進制的顯示信息

[root@zou tmp]# hexdump -C abc

00000000 61 0a 62 0a 63 0a |a.b.c.|

00000006

這裡的0000006代表的是偏移量 其中61是a 62是b 63是c 其余的0a代表換行符

下面將這個abc轉移成windows上面正常的txt文檔

使用命令 unix2dos abc 這個命令明顯可以看得出unix to dos 由linux轉移成windows格式的文件

[root@zou tmp]# unix2dos abc

unix2dos: converting file abc to DOS format ...

[root@zou tmp]# hexdump -C abc

00000000 61 0d 0a 62 0d 0a 63 0d 0a |a..b..c..|

00000009

同一個文檔,windows格式的ASCII文件明顯與linux不同

同樣上面的一串0以及尾部的9代表的是偏移量,可以看出windows上面的ASCII還是有很大不同的,尤其是換行,windows上面是 od oa 的

如果想把win上面的文件轉譯成linux上面的ASCII上面的文檔

使用命令 dos2unix 明顯可以看出dos to unix

[root@zou tmp]# dos2unix abc.txt

dos2unix: converting file abc.txt to UNIX format ...

windows和linux裝換的文本工具:上面我們已經說了是

unix2dos 和 dos2unix

之後通過hexdump -C Filename 查看字符格式

reset 當屏幕出現亂碼的情況的時候,執行這個命令可恢復正常

快捷鍵:

crtl+l 清屏

crtl+c 取消命令的執行

crtl+a 將光標移動到命令的最前面

crtl+e 將光標移動到命令的最後面

crtl+u 刪除光標前的多有字符

crtl+k 刪除光標後的所有字符

crtl+b 左移動一個位置

crtl+f 光標向右移動一個字符

esc 松手 按b 向左移動一個單詞

esc 松手 按f 向右移動一個單詞

圖形化的終端的快捷鍵

ctrl+shift +t 打開一個新的終端

w 退出當前一個

q 退出所有終端

crtl+PgUp/PgUn 切換到下一個/上一個標簽頁

crtl+shift+c 復制選中文本

crtl_shift+v 粘貼到光標後

文件管理 www.pathname.con/fhs下載幫助文檔

文件系統是文件在系統上的存方式,是硬盤存儲數據的范式

fat 不支持單個文件大於4G,不支持加密、壓縮

ntfs 支持

文件結構 (文件分成結構 LSB: linux standard base)

FHS文件系統分層標准

/ 整個文件系統的起始

/bin 系統最基本的程序,二進制程序

/sbin 管理員的基本程序

/boot 存放啟動程序,入內和vmlinuz..

/dev 設備 b塊文件,摸得著的設備,具有緩存

c 字符設備,線性,順序讀寫,是邏輯的設備,沒有緩存

/etc 配置文件

opt /opt相對應的配置文件

X11 桌面

sgml 標記語言

/lib 庫,程序運行時需要的共享庫,在7上是lib64

/media 移動設備掛載點

/mnt 臨時文件系統的掛在點

/opt 第三方軟件的安裝目錄

/srv 服務器的數據

/tmp 臨時文件,系統自動清除

/usr 小系統,大部分數據在這裡面,

bin 保證系統擁有完整功能而提供的應用程序,在7版本上二進制程序是這個位置,/bin軟連接到這個位置

sbin /sbin軟連接到這個位置,管理的二進制程序

lib 32位使用的庫 /lib 軟連接到這個位置

lib64 只存在64位系統上面 /lib64軟連接到這個位置

include C程序的頭文件(header files)

share 結構化獨立的數據 如doc,man等

local 第三方程序安裝位置,其下的目錄有:

bin

sbin

lib

lib64

etc

share

以上都是第三方的軟件安裝生成的

/var 變化數據,web網頁等

cache 應用程序緩存目錄

local 為/usr/local下的應用程序存儲可變數據

lock 鎖文件

log 日志

opt 為/opt下的應用程序存儲可變數據

run 運行相關進程數據,常存儲進程pid文件

spool 應用程序數據池

tmp 保存系統兩次重啟之間產生的臨時數據

/home

假目錄文件

/proc 內存中的一些信息,內存中的分區表,大小為0,是模擬的

process的簡稱

cat /proc/cpuinfo cpu信息

cat /proc/swaps 交換分區

cat /proc/partions 分區

/sys 存放硬件相關的信息,

/selinux 權限加強linux,安全策略相關的信息存儲位置,root是王,也要在這個法律的規范下活動

在7上/usr不可以做掛載點

/usr/sbin, bin是不可以掛載的,是系統啟動的過程中就要用的,/usr裡面有bin,因此也不支持掛載

版本6和版本7的目錄變化為/bin /sbin /lib /lib64

都跑到/usr的目錄下面去了

lrwxrwxrwx. 1 root root 7 2月 26 02:04 bin -> usr/bin

dr-xr-xr-x. 4 root root 4096 2月 26 02:09 boot

drwxr-xr-x. 20 root root 3200 5月 13 16:54 dev

drwxr-xr-x. 75 root root 8192 5月 14 02:27 etc

drwxr-xr-x. 5 root root 37 5月 10 22:38 home

lrwxrwxrwx. 1 root root 7 2月 26 02:04 lib -> usr/lib

lrwxrwxrwx. 1 root root 9 2月 26 02:04 lib64 -> usr/lib64

drwxr-xr-x. 2 root root 6 8月 12 2015 media

drwxr-xr-x. 2 root root 6 8月 12 2015 mnt

drwxr-xr-x. 2 root root 6 8月 12 2015 opt

dr-xr-xr-x. 360 root root 0 5月 13 16:54 proc

dr-xr-x---. 4 root root 4096 5月 14 02:43 root

drwxr-xr-x. 22 root root 620 5月 13 16:54 run

lrwxrwxrwx. 1 root root 8 2月 26 02:04 sbin -> usr/sbin

drwxr-xr-x. 2 root root 6 8月 12 2015 srv

dr-xr-xr-x. 13 root root 0 5月 13 16:54 sys

drwxrwxrwt. 12 root root 4096 5月 14 03:21 tmp

drwxr-xr-x. 13 root root 4096 2月 26 02:04 usr

drwxr-xr-x. 19 root root 4096 5月 13 16:54 var

linux上的應用程序的組成部分

二進制程序

/bin

/sbin

/usr/bin

/usr/sbin

/usr/local/bin

/usr/local/sbin

庫文件:

/lib

/lib64

/usr/lib

/usr/lib64

/usr/local/lib

/usr/local/lib64

配置文件:

/etc

/etc/Diectory

/usr/local/etc

幫助文件:

/usr/share/man

/usr/share/doc

/usr/local/share/man

/usr/local/share/doc

linux下的文件類型

- 普通

p 管道

l 軟連接

b 塊

c 字符

s 套接字

d 目錄

使用file File_name 去查看文件的類型

定義文件,文件名命令規則

包括路徑在內文件命長對為4095個字節,用/分隔的路徑不能超過255個字節

不能用 / 作為文件裡面的名字字符

文件名一般區分大小寫,這是和文件系統有關的xfs為區分大小寫(fat不區分大小寫)

當文件名就叫 -a 的時候,就需要使用絕對路徑或者相對路徑了

df -T 顯示樣式

[root@zou ~]# df -T

文件系統 類型 1K-塊 已用 可用 已用% 掛載點

/dev/mapper/centos-root xfs 18307072 922400 17384672 6% /

devtmpfs devtmpfs 490452 0 490452 0% /dev

tmpfs tmpfs 500668 0 500668 0% /dev/shm

tmpfs tmpfs 500668 6828 493840 2% /run

tmpfs tmpfs 500668 0 500668 0% /sys/fs/cgroup

/dev/sda1 xfs 508588 125600 382988 25% /boot

tmpfs tmpfs 100136 0 100136 0% /run/user/0

pwd 顯示當前用戶工作的目錄

PWD 當前的共組目錄

OLDPWD 上一個工作目錄

相對路徑

絕對路徑

cd ~wang 到隔壁老王家

ls list列出目錄內容

-r 按照字母逆序顯示

-1 數字1,一個文件一行顯示

-S 大S排序,以文件大小排序

-U 就是按照文件存儲的順序來排序

-u 按照修改時間排序

-X 按照文件的擴展名來排序

-i 顯示inode的數量

-ld 目錄和符號鏈接的信息

-R 遞歸顯示

-a 顯示隱藏文件

-l 顯示更多的信息

文件通配符

* 0或多個任意字符

? 1個任意字符,必須有一個字符,不能為空

~zou zou的家目錄

~+ 當前目錄,相當於.

~- 前一個目錄

[1-3] 1到3的一個個數

[13] 1或者3

[12][34] 笛卡爾乘積,但是{12}{34}不用的是,後者必須要有,前者沒事

[a-z] aAbBcCdD....xXyYz 在這裡面是這樣排序的大寫和小寫字母,少一個Z

[A-Z] AbBcC.....yYzZ 少一個a

預定義的字符: man 7 glob

[:digit:] 數字

[:lower:] 小寫字母

[:upper:] 大寫字母

[:alpha:] 字母

[:alnum:] 字母和數字

[:space:] 空格

[:punct:] 標點符號

元數據netadata:

在系統當中記錄文件的,使用ll顯示出來的東西就是元數據:權限,所有者(數主,屬組),文件大小,創建時間

文件元數據的時間

--atime 訪問時間,文件最後一次讀時間,默認讀取,如使用了cat命令查看

--ctime 狀態更改時間,文件屬性,文件空間大小,文件名等 如chmod chown mv改名,移動位置,

--mtime 修改改動時間,就是利用vim echo sed等編輯了這個文件,使這個文件裡面的內容與以前不一樣,

當我們使用vim編輯了文件,它的atime,ctime和mtime會同時發生變化,atime在你進入編輯界面發生變化,之後編輯完成之後,保存退出ctime和mtime再變化,如果只是vim進去,直接q退出,那麼只有atime變化

當使用echo 增加文章裡面的內容,只有ctime和mtime變化

web服務器上面禁用--atime可以提高近5%的性能

默認顯示文件內容的時間,

ll --time=atime /etc/issu 這裡的atime可以換成另兩個

state File_name 查看文件的三個時間

[root@zou ~]# ll --time=atime test

-rw-r--r--. 1 root root 0 5月 13 19:46 test

[root@zou ~]# stat test

File: "test"

Size: 0 Blocks: 0 IO Block: 4096 普通空文件

Device: fd00h/64768d Inode: 134651 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2016-05-13 19:46:57.714519785 +0800

Modify: 2016-05-13 19:46:57.714519785 +0800

Change: 2016-05-13 19:46:57.714519785 +0800

touch 如果文件名沒有存在將會新建文件,如果文件存在,將會把3個時間給刷新了

-a 僅修改atime ctime也會同時變化

-m 修改mtime ctime也會同時變化

-t [[CC]yy]MMDDhhmm[.ss] 時間格式

-c 如果文件不存在,不會創建,只刷新那三個時間

touch -t 201608081000.30 --time=mtime test 年月時分秒 修改test文件的mtime

> file_name 新建一個文件,會刷新時間,如果文件存,則會覆蓋

>> file_name 可以新建一個目錄,不會刷新時間,慎用,文件存在就附加

cp copy文件

格式:

cp option [-T] source dest

cp /etc/issue /mnt/a

cp option source directory

cp /etc/issue /tmp/a /mnt

cp option -t directory source

cp -t /mnt /etc/issue /tmp/a 源和目的反過來

src是文件,如果目標不存在,新建dest,並將src中內容填充至dest中

如果目標文件存在,

1.dest為文件,這個時候源只能有一個,src中的內容會覆蓋dest當中的內容,當然這個需要再經過你同意,敲了y之後才會覆蓋,當然普通用戶不會,你可以處於安全考慮使用cp -i 命令別名

2.如果dest是個目錄,的dest下面新建一個src一樣的文件名的文件,並將src中內容填充進去,這時源文件可以是多個

Copyright © Linux教程網 All Rights Reserved