linux列印文件
A. linux系統下,如何獲取一個文件夾內所有的內容,並且列印出文件大小和最後修改時間
在 Linux 系統下,可以使用 ls 命令來獲取文件夾內所有文件的名稱。如果想要獲取文件大小和最後修改時間,可以使用 ls -l 命令。這會列出文件的詳細信息,包括文件大小和最後修改時間。示例命令如下:
ls -l /path/to/folder
其中 /path/to/folder 是文件夾的路徑。
或者使用 find /path/to/folder -type f -printf '%s %p %TY-%Tm-%Td %TT\n' 這樣能獲取文件大小和最後修改時間
B. 國產linux(麒麟)列印pdf文檔數字為空的bug解決
筆者手裡有一批國產linu系統,目前開始用在日常的工作生產環境中,我這個老程序猿勉為其難的充當運維的或網管的角色。
國產linu系統常見的為麒麟Linux,統信UOS等,基本都是基於debian再開發的linux。
bug描述:
文字處理程序是WPS2019正版,系統內核麒麟4.4.131
列印機工作正常,系統正常,文字處理程序WPS可以預覽列印文件,WPS轉制的pdf文檔可以顯示,列印出的文檔數字為空白。
bug解決:
根據筆者的經驗解決的。原因是,裝的是Linux正版操作系統,部分程序的正版保護做的非常到位,文檔中的數字字體使用的是Newtimes Romon字體,是受版權保護的。將文檔調整使用國產字體仿宋GB2312,方正字體等就沒有版許可權制了。
調整後,PDF文件列印不在缺數字了,問題解決。
C. 求linux命令 列印文本文件內容到控制台 多個文件可以左右分欄列印, 我記得有這么一個命令,想不起來了
最簡單的你 a.out >> 1.txt
或者用p2,重定向。
你首先要搞清楚控制台上的輸出是怎麼輸出的,比如說是程序裡面printf出來的, 腳本裡面echo出來的等等。
然後做一個寫日誌的函數代碼那個輸出。也可以把標准輸出的文件描述符p到你要寫的文件上面。
最簡單的你 a.out >> 1.txt
或者用p2,重定向。
函數執行,產生的標准輸出,已經再控制台了,我再把它重定向。
你首先要搞清楚控制台上的輸出是怎麼輸出的,比如說是程序裡面printf出來的, 腳本裡面echo出來的等等。
然後做一個寫日誌的函數代碼那個輸出。也可以把標准輸出的文件描述符p到你要寫的文件上面。
execvp(args[0], args) 這個函數運行產生的結果。
使用命令重定向操作符可以使用重定向操作符將命令輸入和輸出數據流從默認位置重定
向到不同的位置。輸入或輸出數據流的位置即為句柄。
下表將列出可用的句柄。
句柄 句柄的數字代號 描述
STDIN 0 鍵盤輸入
STDOUT 1 輸出到命令提示符窗口
STDERR 2 錯誤輸出到命令提示符窗口
UNDEFINED 3-9 這些句柄由應用程序單獨定義,並且是各個工具特定的。
數字 0 到 9 代表前 10 個句柄。可以使用命令 Cmd.exe 運行程序並將該程序前 10 個
句柄中的任何一個重定向。要指定想使用的句柄,可在重定向操作符前面鍵入該句柄的
數字。如果未定義句柄,則默認的 < 重定向輸入操作符是 0,而默認的 > 重定向輸出
操作符是 1。鍵入 > 或 < 操作符之後,必須指定要讀取或寫入數據的位置。可以指定
文件名或另一個現有的句柄。
要指定重定向到現有句柄,請使用與 (&) 字元,後面接要重定向的句柄號
(例如 &句柄#)。例如,下面的命令可以將句柄 2(即 STDERR)重定向到
句柄 1(即 STDOUT):
2>&1
下表列出了可用於將輸入和輸出數據流進行重定向的操作符。
重定向操作符 描述
> 將命令輸出寫入到文件或設備(例如列印機)中,而不是寫在命令提示符窗口或句柄中。
< 從文件中而不是從鍵盤或句柄中讀入命令輸入。
>> 將命令輸出添加到文件末尾而不刪除文件中的信息。
>& 將一個句柄的輸出寫入到另一個句柄的輸入中。
<& 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
| 從一個命令中讀取輸出並將其寫入另一個命令的輸入中。也稱作管道。
默認情況下,可以從鍵盤將命令輸入(即 STDIN 句柄)發送到 Cmd.exe,然後由
Cmd.exe 將命令輸出(即 STDOUT 句柄)發送到命令提示符窗口。
重定向輸入 (<)
要將鍵盤輸入重定向到文件或設備,請使用 < 操作符。例如,要從 File.txt 獲取
sort 命令的輸入,請鍵入:
sort<file.txt
File.txt 的內容將以字母順序列表的方式顯示在命令提示符窗口中。
< 操作符可以打開具有隻讀訪問的指定文件名。所以,不能使用該操作符向文件中寫入
信息。例如,如果以 <&2 啟動程序,則所有試圖讀取句柄 0 的操作都將失敗,因為句
柄 2 最初是以只寫訪問打開的。
注意
0 是 < 重定向輸入操作符的默認句柄。
重定向輸出 (>)
幾乎所有的命令都將輸出發送到命令提示符窗口。即使將輸出發送到驅動器或列印機的
命令也會在命令提示符窗口顯示消息和提示。
要將輸出從命令提示符窗口重定向到文件或設備,請使用 > 操作符。可以在許多命令中
使用該操作符。例如,要將 dir 輸出重定向到 Dirlist.txt,請鍵入:
dir>dirlist.txt
如果 Dirlist.txt 不存在,Cmd.exe 將創建該文件。如果 Dirlist.txt 存在,Cmd.exe
將使用 dir 命令的輸出替換文件中的信息。
要運行 netsh routing mp 命令,然後將輸出發送到 Route.cfg,請鍵入:
netsh routing mp>c:\route.cfg
> 操作符可以打開具有隻寫訪問屬性的指定文件。所以,不能使用該操作符讀取文件。
例如,如果使用重定向 >&0 啟動程序,則所有試圖寫入句柄 1 的操作都將失敗,因為
句柄 0 最初是以只讀訪問打開的。
注意
1 是 > 重定向輸出操作符的默認句柄。
復制句柄
重定向操作符 & 可以將輸出或輸入從一個指定句柄復制到另一個指定的句柄。例如,
要將 dir 輸出發送到 File.txt 並將錯誤輸出發送到 File.txt,請鍵入:
dir>c:\file.txt 2>&1
復制句柄時,可以復制該句柄原狀態的所有特性。例如,如果一個句柄具有隻寫訪問的
屬性,則該句柄的所有副本都具有隻寫訪問屬性。不能將一個具有隻讀訪問屬性的句柄
復制到另一個具有隻寫訪問屬性的句柄。
使用 & 操作符重定向輸入和副本
要將重定向輸入操作符 (<) 與復制操作符 (&) 一起使用,指定的文件必須已經存在。
如果輸入文件存在,Cmd.exe 將以只讀方式打開該文件,然後將文件中包含的字元作為
輸入發送到此命令(如同從鍵盤輸入一樣)。如果指定了句柄,Cmd.exe 將指定的句柄
復制到系統現有的句柄中。
例如,要以句柄 0 輸入讀取(即 STDIN)的方式打開 File.txt,請鍵入:
<file.txt
要打開 File.txt,並在內容排序後將輸出發送到命令提示符窗口(即 STDOUT),請鍵入:
sort<file.txt
要查找 File.txt,然後將句柄 1(即 STDOUT)和句柄 2(即 STDERR)重定向到
Search.txt,請鍵入:
findfile file.txt>search.txt 2<&1
要以句柄 0 輸入讀取(即 STDIN)的方式復制用戶定義句柄 3,請鍵入:
<&3
使用 & 操作符重定向輸出和復制
如果將輸出重定向到文件且指定了現有的文件名,Cmd.exe 將以只寫方式打開文件並覆
蓋該文件內容。如果指定了句柄,Cmd.exe 將文件復制到現有句柄中。
要將用戶定義句柄 3 復制到句柄 1,請鍵入:
>&3
要將包括句柄 2(即 STDERR)的所有輸出從 ipconfig 命令重定向到
句柄 1(即 STDOUT),然後將輸出重定向到 Output.log,請鍵入:
ipconfig.exe>>output.log 2>&1
使用 >> 重定向操作符追加輸出
要從命令中將輸出添加到文件末尾而不丟失文件中已存在的任何信息,請使用兩個連續
的大於號(即 >>)。例如,下面的命令可以將由 dir 命令生成的目錄列表追加到
Dirlist.txt 文件:
dir>>dirlist.txt
要將 netstat 命令的輸出追加到 Tcpinfo.txt 的末尾,請鍵入:
netstat>>tcpinfo.txt
使用管道操作符 (|)
管道操作符 (|) 可以提取一個命令的輸出(默認情況下是 STDOUT),然後將其導入另
一個命令的輸入中(默認情況下是 STDIN)。例如,下面的命令將對目錄分類:
dir | sort
在本例中,將同時啟動兩個命令,但隨後 sort 命令會暫停,直到它接收到 dir 命令
的輸出為止。sort 命令使用 dir 命令的輸出作為輸入,然後將輸出發送到
句柄 1(即 STDOUT)。
合並帶重定向操作符的命令
可以通過合並帶有其他命令和文件名的篩選器命令創建自定義命令。例如,可以使用以
下命令存儲包含「LOG」字元串的文件名:
dir /b | find "LOG" > loglist.txt
dir 命令的輸出通過 find 篩選器命令發送。包含字元串 "LOG" 的文件名作為文件名
列表(例如,NetshConfig.log、Logdat.svd 和 Mylog.bat)存儲在文件
Loglist.txt 中。
要在相同命令中使用多個篩選器,請使用管道 (|) 分隔篩選器。例如,下面的命令將
搜索 C 盤上的每個目錄以查找包含 "LOG" 字元串的文件名,並且在命令提示符窗口中
每次顯示一屏:
dir c:\ /s /b | find "LOG" | more
利用管道 (|) 可以將 Cmd.exe 導向為通過 find 篩選器命令發送 dir 命令輸出。
find 命令只選擇包含字元串 "LOG" 的文件名。more 命令可以顯示由 find 命令選擇
的文件名(在命令提示符窗口中每次顯示一屏)。有關篩選器命令的詳細信息,請參閱
使用篩選器。
D. Linux c 程序裡面,如何將當前文件的文件名和行號列印出來
printf("%s——%d——%s\n",__FILE__,__LINE__,__FUNCTION__);分別代表文件,行號,函數名
E. 關於Linux操作系統的一些命令是什麼
Linux系統中的命令實在是太多了,簡單包括兩類命令,一類是內部命令,指的是Shell自身提供的功能,一類是外部命令,指的是第三方的控制台應用程序。
一般來說,沒必要完全學習所有的命令,大體上有個印象,用到的時候去查一下幫助文檔,久而久之,自然熟練。
下面是網友整理的20個最常用的Linux命令:
1. ls命令
ls命令是列出目錄內容(List Directory Contents)的意思。運行它就是列出文件夾里的內容,可能是文件也可能是文件夾。
2. lsblk命令
"lsblk"就是列出塊設備。除了RAM外,以標準的樹狀輸出格式,整齊地顯示塊設備。
3. md5sum命令
「md5sum」就是計算和檢驗MD5信息簽名。md5 checksum(通常叫做哈希)使用匹配或者驗證文件的文件的完整性,因為文件可能因為傳輸錯誤,磁碟錯誤或者無惡意的干擾等原因而發生改變。
4. dd命令
「dd」命令代表了轉換和復制文件。可以用來轉換和復制文件,大多數時間是用來復制iso文件(或任何其它文件)到一個usb設備(或任何其它地方)中去,所以可以用來製作USB啟動器。
6. history命令
「history」命令就是歷史記錄。它顯示了在終端中所執行過的所有命令的歷史。
7. sudo命令
「sudo」(super user do)命令允許授權用戶執行超級用戶或者其它用戶的命令。通過在sudoers列表的安全策略來指定。
8. mkdir命令
「mkdir」(Make directory)命令在命名路徑下創建新的目錄。然而如果目錄已經存在了,那麼它就會返回一個錯誤信息"不能創建文件夾,文件夾已經存在了"("cannot create folder, folder already exists")
9. touch 命令
「touch」命令代表了將文件的訪問和修改時間更新為當前時間。touch命令只會在文件不存在的時候才會創建它。如果文件已經存在了,它會更新時間戳,但是並不會改變文件的內容。
10. chmod 命令
「chmod」命令就是改變文件的模式位。chmod會根據要求的模式來改變每個所給的文件,文件夾,腳本等等的文件模式(許可權)。
11. chown命令
「chown」命令就是改變文件擁有者和所在用戶組。每個文件都屬於一個用戶組和一個用戶。在你的目錄下,使用"ls -l",你就會看到像這樣的東西。
12. apt命令
Debian系列以「apt」命令為基礎,「apt」代表了Advanced Package Tool。APT是一個為Debian系列系統(Ubuntu,Kubuntu等等)開發的高級包管理器,在Gnu/Linux系統上,它會為包自動地,智能地搜索,安裝,升級以及解決依賴。
13. tar命令
「tar」命令是磁帶歸檔(Tape Archive),對創建一些文件的的歸檔和它們的解壓很有用。
14. cal 命令
「cal」(Calender),它用來顯示當前月份或者未來或者過去任何年份中的月份。
16. cat命令
「cat」代表了連結(Concatenation),連接兩個或者更多文本文件或者以標准輸出形式列印文件的內容。
17. cp 命令
「」就是復制。它會從一個地方復制一個文件到另外一個地方。
18. mv 命令
「mv」命令將一個地方的文件移動到另外一個地方去。
19. pwd 命令
「pwd」(print working directory),在終端中顯示當前工作目錄的全路徑。
20. cd 命令
最後,經常使用的「cd」命令代表了改變目錄。它在終端中改變工作目錄來執行,復制,移動,讀,寫等等操作。
F. linux如何查看列印隊列_linux命令行模式查看所有列印信息
1、當列印任務開始進行時,這些列印任務便被保存在列印作業列表(也稱列印隊列)內。如果列印機因意外暫停(如列印機未連接)而未完成列印任務,則該列印任務將列入列印隊列,並且存入文件的列印池,備份。進行備鋒鉛孝份的列印任務,如果不加以清激核除,後面的列印任務無法執行,導致列印機無法繼續列印。
2、列印機的列印列表裡,一個文檔,無法列印,也無法刪除。重啟動,故障依舊。那篇文檔牢牢地佔據了列印列表。嘗試列印新的文檔,居然是「列印到文件」。嘗試刪除列印機,准備重裝列印機驅動,居然也不讓刪除。
利用「列印機隊列快速清除工具」可以很快的解決上面的問題。
在WindowsXP/2000操作系統下如下操作。
依次點擊「開始」→「控制面板」→「性能和維護」→「管理工具」→「服務」→「PrintSpooler」。點擊左側「停止此服務」,停止列印機服務。
依次點擊「開始」→「運行」,在「運行」窗口的命令行中輸入:spool點擊「確認」按鈕,打「spool」文件夾;在「spool」文件夾中,雙擊打開「PRINTERS」文件夾;刪除「PRINTERS」文件夾中的所有文件;回到「服務」窗口,點擊左側「啟動此服務」,重新啟動列印服務。檢查列印隊列,銀稿確認列印任務已經被清除。
【簡便方法】
把下列的命令復制到一個文本文件中.
echo快速清除列印隊列
netstopspooler
echoy|del%windir%system32spoolPRINTERS*.*
netstartspooler
然後把文本文件的擴展名改成bat,雙擊執行就OK了。
G. LINUX中,創建文件夾、文件命令及清除命令。
假設我們在/home里創建
1、創建一個叫test的文件夾
輸入 cd /home 回車 就到了home目錄;
輸入 mkdir test 就可以了。
(7)linux列印文件擴展閱讀:
一、LINUX通用命令:
1.date :print or set the system date and time
2. stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登錄shell的登錄和注銷命令
5. pwd: print working directory
6. more, less, head tail: 顯示或部分顯示文件內容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 列印文件.
8. 更改文件許可權: chmod u+x...
9. 刪除非空目錄:rm -fr dir
10. fg jobid :可以將一個後台進程放到前台。
Ctrl-z 可以將前台進程掛起(suspend), 然後可以用bg jobid 讓其到後台運行。
job & 可以直接讓job直接在後台運行。
11. kill 的作用: send a signal to a process. eg: kill -9 發送的是SIG_KILL信號。。。 具體發送什麼信號 可以通過 man kill 查看。
12. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱。)
參考資料:LINUX命令-網路