Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
/ usr / local / bin的权限/所有权
据我了解,放置自己的脚本的正确位置是/usr/local/bin(例如,我用来备份某些文件的脚本)。我注意到该文件夹​​当前(默认情况下)由root拥有,而我的普通用户无法访问它。我是这台计算机上的唯一用户。我可以将整个文件夹更改为自己的用户吗?还是有另一种适当的方式来安排的权限/usr/local/bin?


9
如何在bash控制台上重复当前键入的参数?
我只是在输入以下内容: mv foo/bar/poit/zoid/narf.txt 突然意识到,该死,我不得不再次输入该参数的大部分内容 mv foo/bar/poit/zoid/narf.txt foo/bar/poit/zoid/troz.txt 即使有Tabcompletion,也相当痛苦。我知道我可以通过鼠标选择文本和Middleclick复制粘贴参数,但这还不够好。我想留在键盘上。 那么有没有办法使用键盘复制粘贴行的当前参数呢?

3
“ mount -t TYPE /”-如何知道“ TYPE”可能是什么?
操作系统:例如:Ubuntu 10.04-如何知道“ mount -t TYPE”知道什么?我的意思是有一个命令列出与mount一起使用的受支持文件系统类型吗? 更新:以下cmd总是很好吗?: cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d' sysfs rootfs bdev proc cgroup cpuset tmpfs devtmpfs debugfs securityfs sockfs pipefs anon_inodefs inotifyfs devpts ext3 ext2 ext4 ramfs hugetlbfs ecryptfs fuse fuseblk fusectl mqueue binfmt_misc iso9660 vfat udf reiserfs xfs jfs msdos ntfs minix …

2
在循环中使用ffmpeg时出现奇怪的错误
我有一个bash脚本,遍历查找结果并执行某些FLV文件的ffmpeg编码。在脚本运行时,ffmpeg输出似乎已中断,并且正在输出一些看起来很奇怪的错误,例如以下错误。我不知道这是怎么回事。谁能指出我正确的方向? 好像循环在不应该循环并中断ffmpeg进程时仍在运行。 具体错误是: frame= 68 fps= 67 q=28.0 00000000000000000000000000001000size= 22kB time=00:00:00.50 bitrate= 363.2kbits/s dup=1 drop=0 Enter command: <target> <time> <command>[ <argument>] Parse error, at least 3 arguments were expected, only 1 given in string 'om/pt_br/nx/R3T4N2_HD3D_demoCheckedOut.flv' ffmpeg输出中的更多详细信息: [buffer @ 0xa30e1e0] w:800 h:600 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2 [libx264 @ 0xa333240] using cpu …
23 ffmpeg 

9
显示文件的前几行和后几​​行的命令
我有一个包含很多行的文件,每行的开头都有一个时间戳,例如 [Thread-3] (21/09/12 06:17:38:672) logged message from code..... 因此,我经常检查此日志文件中的2件事。 还给出了具有全局条件和开始时间的前几行。 最后几行具有退出状态以及其他一些信息。 是否有任何方便的单个命令可以让我仅显示文件的前几行和后几​​行?

4
从Linux文件系统缓存中删除特定文件?
我知道我可以从Linux文件系统缓存中删除所有内容,但是有没有办法仅删除一个特定文件?还是阻止文件被缓存?还是告诉进程不要缓存它写入的任何文件? 我有一个读取很多小文件并写入一个大文件的过程。我想将小的文件保留在缓存中以避免磁盘寻道,而且我也不在乎缓存大文件。


2
为什么我的桌面上运行六个getty进程?
我的桌面系统是: $ uname -a Linux xmachine 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 GNU/Linux 通过运行ps a | grep getty,我得到以下输出: 900 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4 906 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5 915 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2 917 tty3 …

1
tmux在终止窗口上禁用确认提示
我浏览了手册页,所以这可能是徒劳的。我对kill-window(Ctrl-b &或Ctrl-b kill-window默认设置)的确认消息感到恼火。这总是给出: 确认“杀死窗口”?(是/否) 就我个人而言,我基本上绝不会Ctrl-b &无意中打。有什么方法可以禁用此提示,或者一般在tmux中提示吗?
23 tmux 

4
并行执行四个任务...我该怎么做?
我在目录上有一堆PNG图片。我有一个名为pngout的应用程序,可以运行它来压缩这些图像。该应用程序由我执行的脚本调用。问题在于此脚本一次执行一个,如下所示: FILES=(./*.png) for f in "${FILES[@]}" do echo "Processing $f file..." # take action on each file. $f store current file name ./pngout -s0 $f R${f/\.\//} done 一次只处理一个文件,需要很多时间。运行此应用程序后,我看到CPU仅为10%。因此,我发现可以将这些文件分为4个批次,将每个批次放入一个目录中,并从4个终端窗口,4个进程中触发4个,因此我同时拥有4个脚本实例,同时处理这些图像和工作需要1/4的时间。 第二个问题是我浪费了时间分割图像和批处理并将脚本复制到四个目录,打开4个终端窗口,等等。 如何用一个脚本执行而无需划分任何内容? 我的意思是两件事:首先,我如何从bash脚本中向后台启动进程?(只需添加&到末尾?)第二:在发送第四个任务后如何停止将任务发送到后台,并让脚本等待任务结束?我的意思是说,只是在一个任务结束时将一个新任务发送到后台,同时始终保持4个任务并行?如果我不这样做,则循环会将大量任务发送到后台,并且CPU会阻塞。

2
为什么从管道读取时awk会做全缓冲
我正在从连接到发送nmea字符串的gps设备的串行端口读取。 一个简化的调用来说明我的观点: $ awk '{ print $0 }' /dev/ttyPSC9 GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 如果我改为尝试从管道读取,awk会将输入发送到stdout之前先对其进行缓冲。 $ cat /dev/ttyPSC9 | awk '{ print $0 }' <long pause> GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 如何避免缓冲? 编辑:凯尔·琼斯(Kyle Jones)建议,猫正在缓冲它的输出,但是这似乎没有发生: $ strace cat /dev/ttyPSC9 | awk '{ print $0 }' write(1, "2,"..., 2) = 2 read(3, …
23 awk  tty  serial-port 

4
记录传出连接的发生情况
有没有一种方法可以记录文件创建的所有传出连接?我知道,netstat但这似乎更像是某个时间点的快照,而不是在一段时间内运行和记录信息的东西。 我只需要IP或主机名,端口以及进行连接的过程。
23 tcp  netstat 

4
运行管道命令时,Linux实用程序是否聪明?
我只是在终端中运行一些命令,然后开始思考,在运行管道命令时,Unix / Linux是否采用快捷方式? 例如,假设我有一个包含一百万行的文件,其中前十行包含hello world。如果运行该命令grep "hello world" file | head,第一个命令找到10行后会立即停止,还是先继续搜索整个文件?

3
如何设置logrotate以每小时轮换日志?
根据Unix和Linux管理手册和man,logrotate的有选项daily,weekly以及monthly,但有一种方法来添加一个hourly选项? 本博客文章中提到,您可以设置size 1和删除的时间选项(如:daily),然后手动调用logrotate与cron-我想是这样 logrotate -f /etc/logrotate.d/my-hourly-file 但是是否有一种更优雅的解决方案,可以按小时轮换日志?
23 linux  logrotate 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.