问题描述
我是Windows用户,是Linux环境的新手。我刚刚在两天前安装了Ubuntu,我对lib
,etc
,var
,tmp
,mnt
等目录感到困惑。我几乎没有问题。
-
这些目录的目的是什么?
目前我将我的项目文件保存在/home/shifar/Public/Projects
中,但这听起来太长了……
-
有没有办法缩短文件路径?
-
将我的项目文件保存在上述目录中是否很好?或者有任何约定吗?喜欢个人文件必须存储在那里。和软件更好地存储在那里..
最佳解决思路
What is the purpose of these directories?
-
lib:内核模块和引导系统并在根文件系统中运行命令所需的那些共享库映像(C编程代码库)
-
etc:配置文件
-
var:系统在其操作过程中将数据写入的文件
-
tmp:临时文件
-
mnt:用于安装存储设备的临时安装点
Is there any way to shorten the file path ?
您可以使用~/
代替/home/shifar
Is it good to keep my project files in the above mentioned directory? Or is there any convention ? like Personal files must be stored there… Softwares is better stored in there… like that.
/home/shifar
是您的家居用品,专供您个人使用。您可以将您的个人目录,文件存储在任何目录中。 ~/Documents
可能是项目的好地方。 ~/Public
通常与网络中的任何人共享。因此,如果您不想分享,请将您的文件放在另一个目录中。
次佳解决思路
以前的答案都很好。我只想补充几点。
稍后,(现在不是!)当你对Linux更加熟悉时,你可能想要为数据创建一个单独的分区 – 特别是如果你有很多音乐或视频这样的大文件。如果您将太多这些添加到您的主分区,您可以填写它,然后其他东西停止工作,因为他们无法获得所需的磁盘空间。
如果填满数据分区,则不会影响其他任何内容。
此外,当您想要备份数据时,您可以随时进行备份。 /home有一直在变化的东西,所以你通常不能”freeze”它获得一个所有内容同步的副本。使用单独的数据分区,您可以随时进行完美备份。
就路径而言,如果您使用命令行工作,则可以定义bash别名(在~/.bashrc
或~/.bash_aliases
中)以缩短任何路径甚至更改为目录。
alias proj='cd /home/shifar/Public/Projects'
然后只需键入proj
即可切换到该目录。
当你对bash更加熟悉时,你可以使用函数做更多事情。但是,我们将把它留到以后。
另一种方法是在~/.bashrc
上添加一行
export PROJ='/home/shifar/Public/Projects'
这将使环境变量PROJ
可供使用,您可以执行以下操作:
ls "${PROJ}"
cd "${PROJ}"
cp mynewfile "${PROJ}"
它也可以在它前面没有export
的情况下工作,但是它只能在你的shell的顶层定义,而不是在你可能从那里运行的任何子shell中定义。
您也不需要上面示例中的引号或大括号,但它们可以保护您免受嵌入空白等内容的影响,并且还允许您将PROJ
用作单词的一部分 – 如${PROJ}ect
。