Linux基础知识
目录结构
/
根目录
在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。文件系统的最顶层是由根目录开始的,系统使用 /
来表示根目录。根目录中可能会有以下目录:
系统启动必须:
-
/boot
:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 -
/etc
:存放所有的系统需要的配置文件和子目录列表,**更改目录下的文件可能会导致系统不能启动。 -
/lib
:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 -
/sys
: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
指令集合:
-
/bin
: 存放着最常用的程序和指令 -
/sbin
:只有系统管理员能使用的程序和指令。
外部文件管理:
-
/dev
: Device(设备)的缩写, 存放的是Linux的外部设备。**注意:**在Linux中访问设备和访问文件的方式是相同的。 -
/media
:类windows的**其他设备,**例如U盘、光驱等等,识别后linux会把设备放到这个目录下。 -
/mnt
:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
-
/run
:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。 -
/lost+found
:一般情况下为空的,系统非法关机后,这里就存放一些文件。 -
/tmp
:这个目录是用来存放一些临时文件的。
账户:
-
/root
:系统管理员的用户主目录。 -
/home
:用户的主目录,以用户的账号命名的。 -
/usr
:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 -
/usr/bin
: 系统用户使用的应用程序与指令。 -
/usr/sbin
: 超级用户使用的比较高级的管理程序和系统守护程序。 -
/usr/src
: 内核源代码默认的放置目录。
运行过程中要用:
-
/var
:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。 -
/proc
:管理**内存空间!**虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
/opt
:默认是空的,我们安装额外软件可以放在这个里面。/srv
:存放服务启动后需要提取的数据**(不用服务器就是空)**
./
当前目录
也可以用 .
来表示
../
上级目录
也可以用 ..
来表示
~/
家目录
也可以用 ~
表示一般来说 根目录 下有一个home
目录,里面存放着很多以用户名命名的子目录,例如现在有一个用户叫Feixin
,那么一般会存在一个 home/Feixin
目录,这个目录则是 Feixin
这个用户的家目录
复制粘贴
我们可以使用Ctrl+Insert
或 Ctrl+shift+C
在终端中复制文本,
使用 Shift+Insert
或 Ctrl+shift+V
在终端中粘贴文本。
文件管理常用指令
下面命令的介绍只会列举一些常用的参数,我们可以使用命令 --help
来查看所有参数,另外本文只记录了一些常用的命令,完整的命令可以去官方文档或者Linux 命令大全 | 菜鸟教程 (runoob.com)查看。
ls
列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件。
ls 路径
:显示该路径下的文件信息。
下面是一些参数,这些参数是可以套娃的哈
-l
:显示详细信息。
lh
:显示详细信息并且更方便阅读,例如转变文件大小信息的单位(像4096 -> 4.0K)。
-a
:显示隐藏文件
套娃比如说 ls -lha
也是可以的
pwd
显示当前所在目录
cd
cd + 路径(绝对或相对)
进入该路径所在目录
例如: cd ../
返回上级目录
cd -
返回上一个工作目录
ctrl + c
终止命令,例如使用了 top
命令,一直运行不会结束,可以使用ctrl + c
来终止。
取消当前命令并换行,例如打了很多发现不想打这一行了,我们可以使用该命令来取消并换行。
ctrl + u
清空本行
tab
可以补全命令和文件名,当有多个选择的时候无法补全,可以连续按两下 tab
,显示备选选项
cp
cp xxx yyy
:xxx 和 yyy 是绝对路径或者相对路径 ,等于 复制+粘贴+重命名
xxx
是文件:如果yyy
路径的最后是文件夹的话,那就是复制到这个文件夹里面,如果路径的最后个文件名的话,就是复制到该文件名的上级目录中并重命名成这个文件名。
xxx
是文件夹:如果yyy
的路径最后是已经存在的文件夹的话,就是复制到这个文件夹里面,如果是不存在的文件夹的话,就是复制到该文件夹的上级目录中并重命名成这个文件夹。
-r
:xxx如果是文件夹的话需要加上-r
这个参数 ,例如cp homework homework2 -r
说起来复杂,实际上操作却不容易出错捏。
mkdir
mkdir [路径/]文件夹名称
:创建一个文件夹,不填路径即在当前路径创建
-p
:套娃创建,例如mkdir a/b/c
,但是我当前目录下a和b都没有,使用这个参数就可以不报错全部创建
history
查看输入过的所有命令
tree
以树形显示文件目录结构
cat
cat [路径/]文件名
:显示某个文件中的内容
touch
touch [路径/]文件名
: 创建一个文件
rm
用于删除文件,不存在回收站,使用需谨慎
rm [路径/]文件名
: 删除一个文件,可以连续删除多个文件中间用空格相连
-r
: 删除文件夹的时候需要使用-r
参数,递归删
支持正则表达式,rm * -r
:删除当前目录下的所有文件, rm *.txt
删除所有以.txt
结尾的文件
-f
: 删除带保护的文件
move
剪切+粘贴+重命名
move xxx yyy
: xxx和yyy为绝对或相对路径,用法和cp
完全一致,只是move
之后xxx
没了,cp
之后xxx
还有。