为了使用存储设备,我们需要一个文件系统,那么交换空间呢?
如果它没有文件系统,操作系统如何使用它?数据(来自 RAM)如何写入磁盘,以及如何再次访问?
我创建了一个名为“shadi”的目录并为其设置了此权限
sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul 1 01:58 shadi
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我有“其他”权限,但为什么我不能删除它?
sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied
Run Code Online (Sandbox Code Playgroud) 在许多情况下,我使用命令替换而不是xargs. 例如rm $(ls)与ls | xargs rm
它们之间的真正区别是什么?
我认为差异之一是命令替换在子shell中xargs运行,而在当前shell中运行,但我不确定。
请列出差异。
我知道通配符在运行命令之前被 shell 扩展,它们是 shell 的一个特性。通配符也适用于那些可以接受许多参数的命令。在find . -name *.rb 我们若在当前目录多个文件find会给我们一个错误,因为发现不能接受多个参数,解决这个是方法:
find . -name "*.rb"
find . -name '*.rb'
find . -name \*.rb
Run Code Online (Sandbox Code Playgroud)
我们避开星号并防止 shell 扩展,但通配符是 shell 的一个特性;当我们转义 asterisk shell 不知道它的含义时,它应该找到一个名为 的文件*.rb,那么在这种情况下星号是如何扩展的?
$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
在影子文件的第二个字段中,!表示 root 用户无法登录,但为什么我可以通过 登录到 root 用户sudo su?
为什么我不能通过su root或登录到 root 用户su -?
我们知道ld.so在环境变量指定的目录中搜索库$LD_LIBRARY_PATH,但普通用户可以运行:
export LD_LIBRARY_PATH=dir1:dir2...
Run Code Online (Sandbox Code Playgroud)
他们可以将受感染的库保存在优先级高于原始路径的路径中,以便ld.so在ld.so.cache.
这是一个风险吗?
我们如何禁止普通用户写入这个环境变量?
来自man usermod:
注意:如果您希望锁定帐户(不仅是使用密码访问),您还应该将 EXPIRE_DATE 设置为 1。
我做了一些关于历史的测试:
我跑了history-c然后注销了。这清除了当前 shell 的历史记录。
我跑了history -c && history -w。这删除了所有内容。
我通过 vi 编辑器删除了历史文件的全部内容:$vi ~/.bash_history. 然后我退出了。在下次登录时,当我history只运行最后一个 shell 会话的行或命令时。
这表明history -w当我们关闭 shell 会话时,和之间存在差异。
当我们关闭一个 shell 会话时到底发生了什么?
我认为将history -w内存内容覆盖到历史文件,并history -c删除内存内容。这样对吗?
我阅读了手册页,find但我不清楚。
find -perm -mode ------>至少必须设置这些位才能匹配文件
例如:find -perm -754查找 754,755,757,774,777
关于什么?find -perm /754 请举例说明
默认情况下,静态库位于/usr/lib或 /usr/lib64但我使用以下命令在我的操作系统中删除了所有它们:
find / -name *.a -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
我的 linux 已经可以了,一切正常!
我们能说吗?
" Package.rpm 或 *.deb 包含编译器输出,只有它们需要共享库。
当我们从源代码安装软件时,如果在结构中使用静态库,链接器在编译期间,将静态库复制到它的可执行文件中。
如果*.a我的系统中没有文件,也许将来如果我从源代码安装软件,我会遇到问题”
请用简单的方式向我解释
bash ×4
command-line ×2
find ×2
permissions ×2
accounts ×1
compiling ×1
filesystem ×1
history ×1
partitioning ×1
passwd ×1
rm ×1
security ×1
shadow ×1
sudo ×1
swap ×1
users ×1
wildcards ×1
xargs ×1