我保留了相当长的 bash 历史记录,有时当我使用 bash 反向搜索功能(Ctrl+ r)搜索某些内容时,我最终在搜索历史记录的开头,但仍然没有找到我需要的内容,然后我想回到最后的历史文件。一种选择是使用向前搜索功能(Ctrl+ s),它更接近历史记录的末尾或 execute #,但是否还有直接移动到 bash 历史记录末尾的键盘快捷键?
在开始wpa_supplicant工作之前,网络接口必须可用并且必须加载设备的驱动程序。wpa_supplicant允许使用“-D”标志指定驱动程序。我在几个系统上尝试过这个,但wpa_supplicant似乎从来没有接受我指定的驱动程序。例如:
T42 ~ # lspci -v -s 02:02.0
02:02.0 Network controller: Intel Corporation PRO/Wireless 2915ABG [Calexico2] Network Connection (rev 05)
Subsystem: Intel Corporation Device 1011
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at c0214000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [dc] Power Management version 2
Kernel driver in use: ipw2200
Kernel modules: ipw2200
T42 ~ # wpa_supplicant -D ipw2200 -i eth1 -c /root/wpafile
Unsupported driver 'ipw2200'.
T42 ~ #
Run Code Online (Sandbox Code Playgroud)
但是,如果我开始时wpa_supplicant没有指定像 那样的驱动程序 …
在我的 GNU bash 版本 4.2.8 中,IFS 默认有空格、制表符和换行符的默认值:
usr@T42 ~ $ echo -n "$IFS" | hexdump -C
00000000 20 09 0a | ..|
00000003
usr@T42 ~ $
Run Code Online (Sandbox Code Playgroud)
是否有这种默认 IFS 的原因?此外,除了内置 bash 之外,还有哪些实用程序使用 IFS read?
有时“apt-get install”会问我"Do you want to continue [Y/n]?":
root@T43:~# apt-get install chmsee
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libchm1
The following NEW packages will be installed:
chmsee libchm1
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 192 kB of archives.
After this operation, 848 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Run Code Online (Sandbox Code Playgroud)
我是否正确,仅当"The …
我有一个带有集成闪存的运动手表。该闪存用于存储训练信息。当我使用 USB 数据线将手表连接到我的电脑时,它被检测为写保护的闪存驱动器:
[354703.052138] sd 7:0:0:0: [sdc] Write Protect is on
Run Code Online (Sandbox Code Playgroud)
..而且我显然无法重新安装具有 RW 权限的分区:
root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~#
Run Code Online (Sandbox Code Playgroud)
我记得hdparm有一个选项可以更改设备的只读标志,并且当 USB 闪存驱动器被检测为 SATA 驱动器时,我尝试了一下,但这也无济于事:
root@T60:~# hdparm -r0 /dev/sdc
/dev/sdc:
setting readonly to 0 (off)
readonly = 0 (off)
root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~#
Run Code Online (Sandbox Code Playgroud)
我猜手表的设计方式是一旦检测到 USB 连接,就会触发(硬件)USB 写保护开关?这种硬件写保护是 USB 标准的一部分吗?或者还有什么可以尝试的吗?
如果我使用 MBR 分区方案并使用fdisk(版本 2.20.1)创建主分区或扩展分区,那么它从扇区 2048 开始。如果我没记错,那么旧版本的fdisk第一个分区在扇区 63 上启动。如果 MBR 只需要512 字节,那么为什么第一个分区不在扇区 2 上开始?那些 2047 个扇区中保存了什么?引导加载程序的某个阶段?
我安装了没有桌面环境的Debian Wheezy,因为我想改用轻量级dwm窗口管理器。但是,作为第一步,我需要安装 xserver。我想安装运行 xserver 所需的最少组件。运行 xserver 所需的确切组件(二进制文件、库、配置文件等)是什么?显然是 xinit(启动 X 服务器会话),但还有什么?或者运行 xserver 所需的组件是否如此分散以至于实际上需要安装xserver-xorg包来处理所需的所有依赖项?
我在文件系统中有以下四个文件:
/home/martin/cvs/ops/cisco/b/s1
/home/martin/cvs/ops/cisco/b/s2
/home/martin/cvs/ops/extreme/b/r3
/home/martin/cvs/ops/j/b/r5
Run Code Online (Sandbox Code Playgroud)
我需要将这些文件放入 tar 存档,但我不想添加目录。我能想到的最好的是:
tar -C ~/cvs/ops/ -czvf archive.tgz cisco/b/s1 cisco/b/s2 extreme/b/r3 j/b/r5
Run Code Online (Sandbox Code Playgroud)
这仍然不完美,因为存档中的每个文件都有两个目录深。有没有更好的办法?还是我只需要复制s1,s2,r3和r5文件到一个目录下,并创建归档tar -czvf archive.tgz s1 s2 r3 r5?
我有一个 4096 字节扇区的磁盘:
# cat /sys/class/block/sda/queue/physical_block_size
4096
#
Run Code Online (Sandbox Code Playgroud)
出于某种原因,fdisk更喜欢使用 512 字节扇区显示有关磁盘的信息:
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1BD14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000d98d6
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 976773167 976771120 465.8G 83 Linux
Run Code Online (Sandbox Code Playgroud)
出于好奇,为什么fdisk更喜欢使用 512 字节的扇区大小?我正在使用fdisk版本2.33.1。
不同的操作系统似乎以不同的方式处理夏令时 (DST)。我真的很喜欢 Cisco IOS 方法,它非常简单,可以更改 DST 开始和结束的日期和时间。例如:
clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60
Run Code Online (Sandbox Code Playgroud)
..在 3 月第二周的星期日 2:00 将时钟提前 60 分钟,并在 11 月第一个星期日的 2:00 将时钟向后移动 60 分钟。Linux 如何处理夏令时?我知道有一个tzdata包含时区数据文件的包,这些文件安装到/usr/share/zoneinfo/目录中。这些文件是如何以及由哪些实用程序使用的?我可以在文件中看到 UTC(2) 和时区名称(EET 和 EEST)的变化:
T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~#
Run Code Online (Sandbox Code Playgroud)
另外,M3大概是第三个月,M10是第十个月?此外,还应在某处指定偏移量。例如,在 IOS 中,可以配置一旦 DST 发生,时钟就会移动 90 或 120 分钟而不是 60 分钟。