A. linux命令中帶個\t什麼意思
Linux系統下 參數是水平製表(製表符) ,就是鍵盤上的tab鍵的功能,代碼案例分析:
echo-e"a b"
#輸出的就是ab,a與b中間的空位就是水平製表(製表符)。
在linux下想從鍵盤輸入製表符,需要同時按下Ctrl+v+tab 即可(或者用命令/t參數代替tab鍵的功能)。
B. linux文件內容顯示/t,沒顯示製表符
1、file + 文件名稱 查看文件類型
file test.txt
file dictor
file /bin/ls 二進制可執行程序
file my_script
這個命令可以顯示文件的文本信息,還可以顯示文本文件的字元編碼ASCII,還可以顯示文件鏈接
2、查看文件內容
——>cat 信使文件所有數據,加-n可以顯示行號,-b只顯示有文本的行號,-T不顯示製表符,用^I字元組合替換文中的所有製表符
如:cat -n test.txt cat -b test.txt cat -T test.txt
3、 more命令查看文本,每次顯示一屏內容
4、less 是more命令的升級版,一次顯示一屏內容
5、tail默認顯示文件的最後10行,加-n 2 可顯示文件的最後2行
如:tail test.txt 顯示test.txt的最後10行
tail -n 2 test.txt 顯示test.txt文件的最後2行
tail -n 3 test.txt 顯示test.txt文件的最後3行
數字是幾就顯示文件最後幾行
-f參數,允許在其他進程使用該文件時查看文件的內容,tail命令會保持活動狀態,並不斷顯示添加到文件中的內容,這是實時監測系統日誌的絕妙方式。
6、head 默認顯示文件前10行,加-5 顯示文件前5行 -後邊寫你想要顯示的行數
如:head test.txt 顯示文件前10行
head -3 test.txt 顯示文件前3行
head -5 test.txt 顯示文件前5行
head -8 test.txt 顯示文件前8行,n數值可以自己定義
C. 為什麼我的linux虛擬機里一些製表符在圖形界面上現實的是亂碼
應該是字元集的問抄題,linux是Utf-8字元集,你看看此文件是以什麼字元集保存的。然後你可以在vi里用set encoding=utf-8來轉換一下。具體還可以了字元編碼的實質,推薦http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
D. linux下vim 查找命令
linux下vim 查找命令:
/text --查找text, 按n查找下一個, N查找上一個
?text --查找text(反向查找), 按n查找下一個, N查找上一個
*/# --查找游標當前的單詞,相當於/text
:set ignorecase --查找忽略大小寫
:set noignorecase --查找不忽略大小寫
:nohlsearch --關閉當前的高亮顯示,當再次查找時恢復高亮
:set incsearch --逐步搜索模式,對當前鍵入的字元進行查找,不必等輸入完成
:set wrapscan --重新搜索,當搜索到文件頭或尾時,返回重新搜索
(4)linux識別製表符擴展閱讀:
1、文件窗口:
:open file --在當前窗口打開新文件
:split file --在新窗口打開文件
:new file --用新窗口打開文件,同 :split file
:bn --切換到下一個文件
:bp --切換到上一個文件
:args --查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)
:e ftp://192.168.10.76/abc.txt
:e qadrive est.txt --打開遠程文件
:split --打開一個新窗口,游標停在頂層的窗口上
:new --打開一個新窗口,游標停在頂層的窗口上
:vsplit --橫向打開窗口。
Ctrl+ww --移動到下一個窗口
Ctrl+wj --移動到下方的窗口
Ctrl+wk --移動到上方的窗口
2、其他命令:
Esc/Ctrl+[ -- 鍵入命令
:!command --執行shell命令
:suspend/Ctrl+Z --掛起vim,回到shell,fg 返回vim
:!perl -c script.pl --檢查perl腳本語法,不用退出vim
:!perl script.pl --執行perl腳本, 不用退出vim
:help --顯示幫助文檔
:help i --顯示i的幫助文檔(:特殊鍵用<>, -t:啟動參數用-)
3、編輯命令:
插入:
i --在當前位置插入
A --在當前行尾插入
I --在當前行首插入
o --在當前行後插入一行
O --在當前行前插入一行
拷貝粘貼剪切:
yy --拷貝當前行
2yy --拷貝當前行開始的2行
p --在當前游標後粘貼
P --在當前行前粘貼
:1,10 co 20 --將1-10行插入到第20行之後。
:1,$ co $ --將整個文件復制一份並添加到文件尾部
v --進入選擇模式,相當於在Windows下按住 Shift選擇
V --進入選擇模式,整行選擇
ddp --交換當前行和其下一行
2dd --剪切當前行之後的2行
:1,10d --將1-10行剪切
:1, 10 m 20 --將第1-10行移動到第20行之後
替換:
ra --將當前游標所在字元替換為a
s/old/new/ --用old替換new,替換當前行的第一個匹配
s/old/new/g --用old替換new,替換當前行的所有匹配
%s/old/new/ --用old替換new,替換所有行的第一個匹配
%s/old/new/g --用old替換new,替換所有匹配
:10,20 s/^/text/g --在第10行到第20行每行前面加上text(:3,5 s/^/#/g --注釋3-5行, :3,5 s/^#//g
--解除3-5行的注釋, :1,$ s/^/#/g --注釋整個文檔, :%s/^/#/g --注釋整個文檔)
ddp --交換游標所在行和下一行
移動:
h --左移一個字元(5h --左移5個字元)
l --右移一個字元(5l --右移5個字元)
k --上移一個字元(5k --上移5個字元)
j --下移一個字元(5j --下移5個字元)
w --向後移動一個單詞(5w --向後移動5個單詞)
b --向前移動一個單詞(5b --向前移動5個單詞)
e --同 w ,游標停在單詞尾部
ge --同 e ,游標停在單詞尾部
^ --移動到本行第一個非空白字元
0 --移動到本行第0個字元
--同0
$ --移動到行尾(3$ --移動到下面3行的行尾)
gg --移動到文件頭(10gg --移動到第10行首)
[[ --同 gg
G --移動到文件尾(10G --移動到第10行尾)
]] --同 G
fx --移動到本行游標後第一個為x的字元(3fx --移動到本行游標後第3個為x的字元)
Fx --同 fx ,反向查找
:20 --跳到20行行首
Ctrl+e --向下滾動一行
Ctrl+y --向上滾動一行
Ctrl+d --向下滾動半屏
Ctrl+u --向上滾動半屏
Ctrl+f --向下滾動一屏
Ctrl+b --向上滾動一屏
撤銷:
u --撤銷
U --撤銷對整行的操作
Ctrl+r --撤銷剛才的撤銷
刪除:
x --刪除當前字元(3x --刪除當前游標開始向後三個字元)
X --刪除當前字元的前一個字元, 同 dh
dl --刪除當前字元, 同 x
dh --刪除前一個字元
dd --刪除當前行
dj --刪除上一行
dk --刪除下一行
10d --刪除當前行開始的10行。
D --刪除當前字元至行尾, 同 d$
kdgg --刪除當前行之前所有行(不包括當前行)
:1,10d --刪除1-10行
:11,$d --刪除11行及以後所有的行
:1,$d --刪除所有行
J--刪除兩行之間的空行, 合並兩行
退出
:wq --保存並退出
ZZ --保存並退出
:q! --強制退出並忽略所有更改
:e! --放棄所有修改,並打開原來文件
:close --關閉窗口,最後一個窗口不能使用此命令,可以防止意外退出vim
:q --如果是最後一個被關閉的窗口,那麼將退出vim
E. linux shell里,怎樣敲入 製表符
1、對齊
先輸入選擇題題干,然後只需對選擇題選項所在段設置一個左對齊製表符,製表符所在位置可根據需要適當調整。設置完後輸入選項A的內容,按鍵盤上的Tab鍵使插入點移至下一製表符所在位置後輸入選項B的內容,按回車鍵。然後同理再輸入選項C、D內容。下面其他段落無需重新設置,因為已將上段製表符沿用,如不再需要,只需將該製表符刪除
2、在公式一般居中和但其標題需要靠右,通常是敲空格使他們到達位置,但是一旦公式長度發生變化,則需要重新調整。表格標題之間也存在這個問題。
解決方法:在兩者之間按tab鍵敲入製表符,選定,然後點擊頁面左上角的製表點陣圖標,切換到居有製表位,用滑鼠在水平標尺上右邊位置點一下,這樣就放置了一個居右製表位在點擊的地方,如果位置不合適還可以用滑鼠拖動進行調節。
好處:在於自動靠右調節功能,不受文本和頁面改變影響
製表點陣圖標還有,懸掛,首行縮進,居中,居左等方式
F. 4-19 Linux中的正則表達式 --- 字元匹配
1、正則表達式和通配符有點像。區別在於通配符匹配的是文件名和目錄名中的字元串,不能匹配文本中內容的字元串。而正則表達式匹配的是文本中的字元串。
2、正則表達式(REGEXP):由一類特殊字元及文本符號所編寫的表達式,這種表達式的功能是匹配文本當中字元串。
3、正則表達式的特點:可以通過特殊字元及文本符號靈活組合各種過濾條件去匹配文本內容,從而達到自由度頗高的篩查方式。
4、正則表達式分兩類:基本正則表達式(BRE)、擴展正則表達式(ERE),grep 加上 -E 參數就是使用 egrep。
5、元字元分類:元字元是指正則表達式中使用的特殊字元,這些特殊符號具有特定的功能。從功能上分類有:字元匹配、匹配次數、位置錨定、分組。
①、 .:匹配任意單個字元。
②、 [ ]:匹配指定范圍內的任意單個字元。
③、 [^]:排除匹配指定范圍內的任意單個字元。
④、 [:alnum:]:過濾字母和數字,包含了大寫字母、小寫字母 和 10個數字(0-9)。
⑤、 [:alpha:]:任何英文大小寫字元,即 A-Z,a-z。
⑥、 [:lower:]:只過濾小寫字母。
⑦、 [:upper:]:只過濾大寫字母。
⑧、 [:blank:]:空白字元(空格和製表符)。
⑨、 [:space:]:水平和垂直的空白字元(比 [:blank:] 包含的范圍廣)。
⑩-①、 [:digit:]:十進制數字。
⑩-③、 [:graph:]:可列印的非空白字元。
⑩-④、 [:print:]:可列印字元。相當於 [:alnum:]、[:punct:] 和 space。
⑩-⑤、 [:punct:]:標點符號。
G. 請問換行符'\n' 和製表符'\t'有什麼區別
1.是兩者之間體現的作用不同
換行符的作用是讓游標跳到下一行。
當前一行的內容輸入完成後游標轉移到下一行。
2.而製表符的作用是跳到下一個製表的位置,而在系統當中一個製表的區域佔8列,那麼製表符的作用就相當於8個空格符。
3.其中還有一個不同是ASCII碼的數值不同,換行符的ASCII碼為9,製表符的為10。
換行(『 』)
顧名思義,換行就是轉到下一行輸出。例如
puts("hello world!");
在終端中將輸出
hello
world!
但需要注意的是,終端輸出要達到換行效果用「 」就可以,但要在文本文件輸出中達到換行效果在各個系統中有所區別。
在*nix系統中,每行的結尾是" ",windows中則是" ",mac則是" "。
製表符(' '),表示水平製表位(即horizontal tab),簡單來說它的作用是讓所有的數據都緊跟在製表符後面輸出。
在一般系統中,顯示水平製表符將佔8列,同時水平製表符開始占據的初始位置是第8*n列。
和換行符(' ')相當於在程序中按了一下「Enter」回車鍵一樣,製表符(' ') 就相當於在程序中按一下「Tab」鍵,使的游標以8個字元為基準進行跳躍。
(7)linux識別製表符擴展閱讀:
C語言的書寫規則
1.一個說明或一個語句佔一行。
2.用{}括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。
以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
函數
C程序是由一組變數或是函數的外部對象組成的。 函數是一個自我包含的完成一定相關功能的執行代碼段。
我們可以把函數看成一個黑盒子,你只要將數據送進去就能得到結果,而函數內部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的僅限於輸入給函數什麼以及函數輸出什麼。函數提供了編製程序的手段,使之容易讀、寫、理解、排除錯誤、修改和維護。
C程序中函數的數目實際上是不限的,如果說有什麼限制的話,那就是,一個C程序中必須至少有一個函數。
而且其中必須有一個並且僅有一個以main為名,這個函數稱為主函數,整個程序從這個主函數開始執行。
C語言程序鼓勵和提倡人們把一個大問題劃分成一個個子問題,對應於解決一個子問題編制一個函數。
因此,C語言程序一般是由大量的小函數而不是由少量大函數構成的,即所謂「小函數構成大程序」。這樣的好處是讓各部分相互充分獨立,並且任務單一。
因而這些充分獨立的小模塊也可以作為一種固定規格的小構件, 用來構成新的大程序。
C語言發展的那麼多年來,用C語言開發的系統和程序浩如煙海。在發展的同時也積累了很多能直接使用的庫函數。
ANSI C提供了標准C語言庫函數。
C語言初學者比較喜歡的Turbo C 2.0提供了400多個運行時函數,每個函數都完成特定的功能,用戶可隨意調用。
這些函數總體分成輸入輸出函數、數學函數、字元串和內存函數、與BIOS和DOS有關的函數、 字元屏幕和圖形功能函數、過程式控制制函數、目錄函數等。
Windows系統所提供的Windows SDK中包含了數千個跟Windows應用程序開發相關的函數。
其他操作系統,如Linux,也同樣提供了大量的函數讓應用程序開發人員調用。
作為程序員應盡量熟悉目標平台庫函數其功能。這樣才能游刃有餘地開發特定平台的應用程序。
比如作為Windows應用程序的開發者,應盡量熟悉Windows SDK;作為Linux應用程序開發者,應盡量熟悉Linux系統調用和POSIX函數規范。
H. linux特殊符號大全
tab:文本分隔符,相當於四個空格,在命令行界面可以用來自動補齊命令與目錄。
ESC:esc+. ,上一條命令的選項參數,vim恢復到命令模式。
~:家目錄
`:反引號,編程中調用shell命令
!:調用前面的命令,!!調用上一條,!23調用前面低23條。
@:at符,後面接IP地址。
#:Linux文件中注釋行,表示不起作用。
$:文件行結尾標識符,變數標識符。
%:格式化文本。
^:文件行首標識符
&:任務放到後台
*:通配符,代表一個字元或者很多個字元。
\:用來轉義,\t表示製表符,\n表示換行符。
<:數據流的流入方向,表示輸入,將數據傳入給左側軟體。
|:管道,改變數據流的方向,將數據傳入給另外的軟體。
>:數據流的流出方向,表示輸出,將屏幕輸出的內容寫入一個文件。
2>:數據流的流出的第二個方向,表示錯誤輸出,報錯信息會寫入到這個文件中。
>>:表示追加寫入
/:根目錄,目錄分隔符
『』:雙引號,支持轉義
『:單引號,不支持轉義
():shell編程中使用,命令行用的不多
[]:索引
{}:代碼塊
::vim或者less命令中,表示可以輸入命令
;:分割不同命令
-:短選項標識符-h
--:長選項標識符--help
I. linux ifs是什麼
Linux下有一個特殊的環境變數叫做IFS,叫做內部欄位分隔符(internal field separator)。IFS環境變數定義了bash shell用戶欄位分隔符的一系列字元。默認情況下,bash shell會將下面的字元當做欄位分隔符:空格、製表符、換行符。可查看《Linux就該這么學》了解更多Linux介紹。
J. 如何讓linux中的空格和製表符原形畢露
int ch;
while((ch = getchar()) !復= EOF)
{
if(ch == ' ')
puts("空格制");
else if(ch == '\t')
puts("製表符號");
else
putchar(ch);
}