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命令-网络