除了最暴力的kill -9
(SIGKILL),我不太明白其他 3 个常见信号(此处)-HUP
(1)、-INT
(2)和-TERM
(15)之间的区别。
在哪些情况下,一种有效而另一种无效?
一般什么时候-9
( -KILL
) 失败?
对我来说,他们似乎要求进程优雅地终止,而不保存. 评价严酷程度,我会放-HUP < -TERM < -INT < -KILL
。
我是 Linux 新手,请原谅您在这个问题中可能遇到的困惑。
据我了解,文件系统指定分区如何存储/管理文件,标准如 ext2、ext3、reiserfs、xfs 等。有时我看到人们似乎将每个“ directory
”称为
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
Run Code Online (Sandbox Code Playgroud)
为什么我们将这些称为文件系统?
如果他们每个人都是一个分区,那会让我感到困惑,因为据我所知,/usr
并且/usr/bin
往往在同一个分区中,但我看到人们同时提到“/usr
文件系统”和“/usr/bin
文件系统”。
如果这里的文件系统相当于 Window 的目录,我不清楚,因为显然文件系统不仅仅是目录。另外,据我所知,Linux 没有“目录”的概念;都是文件。
我们如何将标准输出(或标准错误)和文件的结果连接到最终文件中。
例如
ls -a | grep text1
Run Code Online (Sandbox Code Playgroud)
连接file2.txt
到最终结果(不是file2.txt
),而不存储grep text1
到中间的东西,例如grep text1 > file1.txt
有时我看到 shell 提示中的当前工作目录是缩写的,有时不是。
例如/usr/bin
将显示为bin$
或/folder1/folder2
显示为folder2$
,在其他情况下我看到/folder1/folder2
显示为完整/folder1/folder2$
我使用的是默认终端设置(我使用 Fedora 22 虚拟机进行学习,但我也在其他几个使用不同发行版的教程视频中注意到了这一事实)
有什么规律吗?
我记得读过一个问题how would you back up the MBR of a disk
。
其中两个选择是
dd if=/dev/sda of=/dev/sdb bs=512 count=1
dd if=/dev/sda of=/dev/sdb bs=440 count=1
Run Code Online (Sandbox Code Playgroud)
正确答案是
dd if=/dev/sda of=/dev/sdb bs=440 count=1
Run Code Online (Sandbox Code Playgroud)
我很迷惑。MBR 大小是 440B 还是 512B?
参考这里,配置为
Run Code Online (Sandbox Code Playgroud)grub> root (hd0,0) grub> kernel /vmlinuz-i686-up-4GB root=/dev/hda9 grub> boot
前面的内容通常足以启动 Linux 机器。standalone
root
语句告诉包含内核的分区。该语句描述了包含内核的分区内内核的kernel
路径和文件名。该语句的参数的参数告诉包含 的分区,这当然是引导系统中的根分区。root=
kernel
/sbin/init
小心这些相互冲突的
root
关键词。独立的是从 grub 中看到的根目录,包含内核。该kernel
语句的参数是从完全启动的系统中看到的根,并包含/sbin/init
.
我不太明白这两个root
配置的含义。这是否意味着操作系统保持在/dev/hda9
待安装状态(hd0, 0)
,或者操作系统将/vmlinuz
被安装到/dev/had9
?
每个文件都有一个 inode。每个目录都有一个 inode 吗?如果没有,Linux 如何管理目录。
因为默认创建的文件具有 666 的权限并且umask
(以权限位形式)从该权限中逐位减去,我们可以做一些事情来授予execute
权限而不使用权限字符 (r,w,x) 吗?
我指的是使用按位掩码,例如
umask 002
Run Code Online (Sandbox Code Playgroud)
未设置权限字符,例如
umask u+x
umask u=rwx
Run Code Online (Sandbox Code Playgroud) 在阅读挂载点时,我认为 Linux 中的文件管理如下:
/
是树的主体/a
是主体/a/b
的分支,是分支的/a
分支c
到挂载点/a/b
意味着“挂”/c
到/a/b
分支上,导致/a/b/c
我有一些问题:
我们可以只挂载整个分区,还是可以挂载该分区的一部分?请详细说明。
我们是否将一个分区挂载到另一个已经挂载的分区上?例如,某些d
安装/mnt
,现在我可以安装另一个/e
上d
,创造/mnt/d/e
?或者我们可以/应该只挂载到“固定分支”,例如/
,/mnt
?如果可能的话,如果我们卸载会发生什么/d
,也会/e
自动卸载?
我们可以挂载到具有不同文件系统的东西上吗?例如,/a
有文件系统 F1,我可以将/b
文件系统 F2挂载到a
并创建/a/b
吗?
假设一个设备sda
有 2 个分区sda1
, sda2
。在通常的实践中,人们会在他们想要的任何挂载点挂载,例如/sda1
to /a/sda1
、sda2
to /b/c/sda2
,还是挂载到同一目录?
在 Linux(例如 Fedora 22)中,如何创建一些虚拟或临时分区/文件系统来测试和学习挂载和挂载点?
如果未指定count
,dd
命令中的默认值是什么?
dd if=/dev/mem bs=1k skip=768
Run Code Online (Sandbox Code Playgroud)
而不是完整的形式
dd if=/dev/mem bs=1k skip=768 count=50
Run Code Online (Sandbox Code Playgroud)
我没有找到谷歌的答案。