新聞中心
linux中sed的知識,內容如下。 可是結果怎么是: sed: 無法為目的為“his”的跳轉找到標簽
怎么提問到“出國/留學”分類下了?
公司主營業(yè)務:成都網站設計、做網站、成都外貿網站建設公司、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出雙牌免費做網站回饋大家。
出錯原因:
a\只能添加一行內容,而你腳本文件里a\后面跟了兩行,于是多出來的那行被sed當作命令來解析了。正好 t label 也是sed中的一個命令,表示分支到帶有l(wèi)abel標號的命令處。腳本文件的第三行于是被認為是要跳轉到帶 his 這個標號的命令,而顯然腳本文件中沒有這個標號。于是報這個錯誤就可以理解了。
解決方法:
將sed腳本文件 compound4 的內容改為:
2a\
this is line 2a\nthis is line 2b
2d
linux命令和shell命令有什么區(qū)別啊?
shell翻譯成殼的意思,它是包裹在Linux內核外層的,一個可通過一系列的Linux命令對操作系統(tǒng)發(fā)出相關指令的人機界面。shell可以通過其條件語句和循環(huán)語句等,把一系列Linux命令結合在一起,形成一個相當于面向過程的程序,即shell
script,從而實現(xiàn)一些復雜的功能。
shell可以說是Linux命令集的概稱,屬于命令行的人機界面。shell是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。shell既是一個命令語言,也是一個程序設計語言;其次,shell也指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內核的服務。
由此可見,shell相當于經過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是面向過程的,相當于有了一定的邏輯和過程,而命令行只是單一的操作。
linux命令是對Linux系統(tǒng)進行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統(tǒng)中有兩種類型:內置Shell命令和Linux命令。
shell與linux命令的區(qū)別
1、直接在命令行執(zhí)行,就是在當前的shell環(huán)境下執(zhí)行,比如涉及到一些環(huán)境變量的時候,必須在當前shell環(huán)境里執(zhí)行。
2、在腳本執(zhí)行的話,會fork一個子進程,所有操作都在子進程中進行。如果涉及到一些在腳本里設置環(huán)境變量的東西,腳本結束了,環(huán)境變量就消失了,如果是修改環(huán)境變量的話,需要特別注意。
3、shell可以重復或批量地進行一些命令,你也可以把自己要重復執(zhí)行的命令寫到腳本里面執(zhí)行,而命令行的話就需要一個一個的輸入命令,比較麻煩。
Linux 常用命令(要求全而精)
1、linux分區(qū)
--在linux里面所有的設備、任何東西,在linux看來都是文件。
--文件在它看來,有兩種形式:
第一種是字符型(鍵盤輸入、打印機);
第二種是二進制型(硬盤、光驅、U盤)
--linux中所有硬件
--手動分區(qū)
--A、至少有兩個分區(qū)
/ 根分區(qū)
SWAP 交換分區(qū)(物理內存大小的兩倍)
--B、個人桌面分區(qū)
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盤刻錄)
2、linux目錄說明
--/dev/xxyN
--xx (分區(qū)所在設備類型:hd--IDE硬盤 sd--SCSI硬盤)
--y (標明分區(qū)所在設備
例如:/dev/hda 第一個IDE硬盤 或 /dev/hdb 第二個IDE硬盤 或 /dev/sdb 第二個SCSI硬盤)
--N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴展分區(qū);邏輯分區(qū)從5開始!
例如:/dev/hda3 第一個IDE硬盤上的第三個主分區(qū)或擴展分區(qū)
/dev/sdb6 第二個SCSI硬盤上的第二個邏輯分區(qū))
3、linux目錄結構
/ 根目錄,最高級別
/bin 系統(tǒng)基本命令存放目錄(/usr/bin)
/boot linux的內核及引導系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統(tǒng)引導管理也位于這個目錄
/dev 設備文件存儲目錄,如聲卡、光驅...
/ect 存放系統(tǒng)設置文件(如用戶賬號密碼、服務器配置文件等)
/home 普通用戶家目錄,默認存放目錄
/lib 庫文件存放目錄
/lost+found 在ext2或ext3文件系統(tǒng)中,當系統(tǒng)以外崩潰或機器意外關機,而產生一些文件碎片放在這里。
當系統(tǒng)啟動的過程中,fsck工具會檢查這里,并修復已經損壞的文件系統(tǒng)。
有事喜用發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或者移文件到原來的位置上。
/media 即插即用型存儲設備的掛載點自動在這個目錄下創(chuàng)建。
如USB盤系統(tǒng)自動掛在后,會在這個目錄下產生一個目錄;
類似cdrom的目錄
/mnt 存放掛載存儲設備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟件包也會被安裝在此,也就是自定義軟件包,
比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。
/proc 操作系統(tǒng)運行時,進程(正在運行的程序)信息及內核信息(比如CPU、硬盤分區(qū)、內存信息等)存放在此。
/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)
/root linux超級權限用戶root的家目錄
/sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級權限用戶root才可執(zhí)行命令存放,普通用戶無權限執(zhí)行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root權限才能執(zhí)行)
/tmp 臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。
/var/tmp目錄和此目錄相似
/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。
大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級權限用戶root可執(zhí)行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經常變動
/var/log 用來存放系統(tǒng)日志
/var/www 用來定義Apache服務器站點存放
/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL數(shù)據(jù)庫的存放地。
4、基本命令
--查看幫助 *** --help *** --?
--查看詳細幫助 man ***
--登錄 login
--退出窗口 exit
--關機 shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--進入根目錄 cd /
--回上層目錄 cd ..
--相對路徑 cd dev
--絕對路徑 cd /dev
--查用戶名 whoami
--查當前目錄 pwd
--列出當前目錄內容 ls
-l(樹詳細顯示目錄內容)
-m(橫列顯示目錄內容,是屏幕長度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創(chuàng)建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內容,詢問每個準備刪除的文件)
rm -rf ***-(強制刪除該目錄下所有內容,不詢問)
--創(chuàng)建空白文件 touch ***
(ps:從技術的角度來講,linux的文件后綴名沒有任何意義)
--復制 cp
cp -r **1 **2 (復制1到2中)
--移動 mv
mv -t **1 **2 (把2移動到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開始顯示文本內容
tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示文檔內容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
tail 只看后幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
nl 顯示的時候,順序輸出行號
od 以二進制位的方式讀取檔案內容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環(huán)境變量 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復制一個新文件,joe.txt刪除后,a還存在)
a是鏈接的名稱,a和joe.txt同步,然后a的內容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個快捷方式,joe.txt刪除后,b不存在)
--wc 統(tǒng)計指定文本文件的行數(shù)、字數(shù)、字符數(shù)
--grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
--col 見管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設置日期
--stat 顯示指定文件的相關信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當前用戶的id信息
--hostname 顯示主機名稱
--uname 顯示操作系統(tǒng)信息
--dmesg 顯示系統(tǒng)啟動信息
--du 顯示指定的文件(目錄)已使用的磁盤空間
--df 顯示文件系統(tǒng)磁盤空間的使用情況
--free 顯示當前內存和交換空間的使用情況
--fdisk -l 顯示磁盤信息
--locale 顯示當前語言環(huán)境
5、掛載點(mount 設備目錄 掛載目錄)
--訪問設備 (那設備當成一個文件,和另外一個文件夾進行綁定)
--例如掛載光驅:步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光驅內容
--卸載掛載設備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯誤.
6、startup-shutdown(linux啟動流程)
--A、boot sequence(important) linux啟動過程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬盤第一個物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導程序和硬盤分區(qū)表)
c. load the kernel of the OS
(加載為kernel核心的OS)
d. init process starts...
(啟動linux第一個進程init)
e. execute /etc/rc.d/sysinit
(執(zhí)行系統(tǒng)最重要的配置文件,后臺啟用進程)
(rc.d--run command)
f. start other modules(stc/modules.conf)
(開啟各種模塊,如內存管理模塊、硬盤管理模塊)
g. execute the run level scripts
(系統(tǒng)啟動是分層次的,根據(jù)情況執(zhí)行,每個層次之間沒關系)
0 - 系統(tǒng)停機狀態(tài)
1 - 單用戶工作狀態(tài) root
2 - 多用戶狀態(tài)(沒有NFS)
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網絡文件系統(tǒng),聯(lián)網系統(tǒng)
4 - 系統(tǒng)未使用,留給用戶
5 - 圖形界面
6 - 系統(tǒng)正常關閉并重新啟動
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執(zhí)行的進程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進程腳本,如tomcat自動啟動,要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...
7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-光標后添加
i insert-光標前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存盤
:wq 存盤退出
:q 退出
:q! 不存盤退出
dd 刪除其中一行
dw 刪除一個單詞
(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)
8、用戶設置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個用戶組)
(創(chuàng)建后會自動在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)
--設置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個數(shù)字,代表用戶組,當添加用戶沒有指定用戶組時,系統(tǒng)會創(chuàng)建一個和用戶ID一樣的組ID;
第二個數(shù)字:用戶ID號;
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令---SHELL[解釋命令]---kenrel內核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然后把/home的文件夾刪除了 rm -rf 文件夾
9、權限file privilege
--linux把文件的權限分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權限設置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶權限
--設置權限 (隨意應用,靈活組合!)
1、普通用法
--添加權限 [chmod +x 文件]
如:-rw-r--r-- --- -rwxr-xr-x
--刪除權限 [chmod -x 文件]
如:-rwxr-xr-x --- -rw-r--r--
--給自己添加權限 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- --- -rwxr--r--
chmod g+x -rw-r--r-- --- -rw-r-xr--
chmod o+x -rw-r--r-- --- -rw-r--r-x
2、專業(yè)用法 chmod 755/777
--原理,八進制轉二進制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者權限 chown (change owner)
如:chown 原來文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一個命令執(zhí)行的結果交給下一個命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制臺模式下,無法返回前面過去的信息),因此需要管道執(zhí)行該查詢,實現(xiàn)分頁的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結果,再數(shù)數(shù)有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統(tǒng)啟動的信息,再查找包含eth0的行--真正含義,檢查網卡執(zhí)行信息是否正常)
--$man bash | col -b bash.txt
語法:col [-bfx][-l緩沖區(qū)列數(shù)]
補充說明:在許多UNIX說明文件里,都有RLF控制字符。當我們運用shell特殊字符""和"",把說明文件的內容輸出成純文本文件時,控制字符會變成亂碼,col指令則能有效濾除這些控制字符。
參數(shù):
-b 過濾掉所有的控制字符,包括RLF和HRLF。
-f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來。
-x 以多個空格字符來表示跳格字符。
-l緩沖區(qū)列數(shù) 預設的內存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。
--$ls -l | grep "^d"
(用正則表達式篩選出目錄列表中 頭字母為'd' 的內容--目錄)(^是正則表達式開頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字符為'-'的內容--文件,并統(tǒng)計顯示的行數(shù)wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺
ls cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall cmd.txt,把文本內容發(fā)給所有人
12、修改系統(tǒng)的默認系統(tǒng)級別
常用3和5
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網絡文件系統(tǒng),聯(lián)網系統(tǒng)
5 - 圖形界面
PS.設置用戶權限: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執(zhí)行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權限.
755表示文件所有者可讀寫,執(zhí)行.
第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.
第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉載于Joewalker在本人空間也有詳細說明
linux提示命令快捷鍵是什么?
首先,linux提示命令的快截鍵是 TAB鍵,在鍵盤的左側,一般在capslock鍵的上面。比如你輸入his,然后按一下tab鍵,就會出現(xiàn)his開頭的命令,如下圖所示。使用TAB鍵,一般來說,在訪問文件夾的時候非常好用,它會自動補全路徑名。
其次,在Linux的命令行上有很多種方法提高輸入效率。比如
有 4 種方法可以重復執(zhí)行上一條命令:
1、使用上方向鍵,并回車執(zhí)行。
2、按 !! 并回車執(zhí)行。
3、輸入 !-1 并回車執(zhí)行。
4、按 Ctrl+P 并回車執(zhí)行。
Ctrl+R 快捷鍵讓你對命令歷史進行搜索,對于想要重復執(zhí)行某個命令的時候非常有用。當找到命令后,通常再按回車鍵就可以執(zhí)行該命令。如果想對找到的命令進行調整后再執(zhí)行,則可以按一下左或右方向鍵。
再次,如果之前輸入過相應的命令,可以通過history這個命令來查找到,并再次重復執(zhí)行。示例如下:
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
關于Linux操作系統(tǒng)的一些命令是什么?
Linux系統(tǒng)中的命令實在是太多了,簡單包括兩類命令,一類是內部命令,指的是Shell自身提供的功能,一類是外部命令,指的是第三方的控制臺應用程序。
一般來說,沒必要完全學習所有的命令,大體上有個印象,用到的時候去查一下幫助文檔,久而久之,自然熟練。
下面是網友整理的20個最常用的Linux命令:
1. ls命令
ls命令是列出目錄內容(List Directory Contents)的意思。運行它就是列出文件夾里的內容,可能是文件也可能是文件夾。
2. lsblk命令
"lsblk"就是列出塊設備。除了RAM外,以標準的樹狀輸出格式,整齊地顯示塊設備。
3. md5sum命令
“md5sum”就是計算和檢驗MD5信息簽名。md5 checksum(通常叫做哈希)使用匹配或者驗證文件的文件的完整性,因為文件可能因為傳輸錯誤,磁盤錯誤或者無惡意的干擾等原因而發(fā)生改變。
4. dd命令
“dd”命令代表了轉換和復制文件。可以用來轉換和復制文件,大多數(shù)時間是用來復制iso文件(或任何其它文件)到一個usb設備(或任何其它地方)中去,所以可以用來制作USB啟動器。
6. history命令
“history”命令就是歷史記錄。它顯示了在終端中所執(zhí)行過的所有命令的歷史。
7. sudo命令
“sudo”(super user do)命令允許授權用戶執(zhí)行超級用戶或者其它用戶的命令。通過在sudoers列表的安全策略來指定。
8. mkdir命令
“mkdir”(Make directory)命令在命名路徑下創(chuàng)建新的目錄。然而如果目錄已經存在了,那么它就會返回一個錯誤信息"不能創(chuàng)建文件夾,文件夾已經存在了"("cannot create folder, folder already exists")
9. touch 命令
“touch”命令代表了將文件的訪問和修改時間更新為當前時間。touch命令只會在文件不存在的時候才會創(chuàng)建它。如果文件已經存在了,它會更新時間戳,但是并不會改變文件的內容。
10. chmod 命令
“chmod”命令就是改變文件的模式位。chmod會根據(jù)要求的模式來改變每個所給的文件,文件夾,腳本等等的文件模式(權限)。
11. chown命令
“chown”命令就是改變文件擁有者和所在用戶組。每個文件都屬于一個用戶組和一個用戶。在你的目錄下,使用"ls -l",你就會看到像這樣的東西。
12. apt命令
Debian系列以“apt”命令為基礎,“apt”代表了Advanced Package Tool。APT是一個為Debian系列系統(tǒng)(Ubuntu,Kubuntu等等)開發(fā)的高級包管理器,在Gnu/Linux系統(tǒng)上,它會為包自動地,智能地搜索,安裝,升級以及解決依賴。
13. tar命令
“tar”命令是磁帶歸檔(Tape Archive),對創(chuàng)建一些文件的的歸檔和它們的解壓很有用。
14. cal 命令
“cal”(Calender),它用來顯示當前月份或者未來或者過去任何年份中的月份。
16. cat命令
“cat”代表了連結(Concatenation),連接兩個或者更多文本文件或者以標準輸出形式打印文件的內容。
17. cp 命令
“copy”就是復制。它會從一個地方復制一個文件到另外一個地方。
18. mv 命令
“mv”命令將一個地方的文件移動到另外一個地方去。
19. pwd 命令
“pwd”(print working directory),在終端中顯示當前工作目錄的全路徑。
20. cd 命令
最后,經常使用的“cd”命令代表了改變目錄。它在終端中改變工作目錄來執(zhí)行,復制,移動,讀,寫等等操作。
標題名稱:包含linux系統(tǒng)his命令的詞條
文章起源:http://fisionsoft.com.cn/article/hhjjsi.html