Day01登堂入室了解linux
操作系统中用来管理文件的系统称为"文件系统",文件系统以分组的方式管理文件,具体的就是通过目录(或者称为文件夹)来管理成千上万的文件。Linux的文件系统只有一个根目录(/)而Windows的文件系统可以有若干个根目录(例如C、D、E)。目录是通过目录路径来描述的,可以简单分为两类描述方式,一是绝对路径,二是相对路径。
终端窗口的当前工作目录可以随时修改,用户在任何时候都有一个当前工作目录,用户首次登陆使用时的初始当前目录是~
whoami命令可以知道当前用户是谁;
linux系统中目录、文件大都以路径描述字符串的形式给出。
绝对路径 从文件系统的根目录开始描述目录路径,例如/home/tarena。所有的绝对路径都是以根目录(/)做开头的路径相对路径 从某一个目录(一般是当前目录)开始描述目录路径。
相对路径的使用更为普遍,通常情况下:
. 表示当前目录自己
.. 表示当前目录的父目录。
tarena 表示当前目录的一个名叫tarena的子目录
注意:“目录”就是一个目录,就是一个windows里面被称为文件夹的东东,“目录路径”就是“路径描述字符串”,它从描述了一个目录到达另外一个目录的路径,这个描述有绝对路径和相对路径两种方式。
例如:文件结构如图:
xyz
/ \
那么,
若当前目录是xyz,则相对路径方式描述def目录可以直接写作def
若当前目录是abc,则相对路径方式描述xyz目录可以直接写作..若当前目录是abc,则相对路径方式描述def目录可以写作../def
clear命令可以把屏幕上的所有内容清除掉
ls命令单独使用就可以直接显示当前目录下的文件
ls StandardC命令可以显示路径为StandardC的目录下的文件,一般用法是ls directory
ls -a directory命令可以显示路径为directory的目录下的所有文件
ls -l directory命令可以详细显示路径为directory的目录下的文件
可以看出,ls命令可以查看指定目录里的文件,使用方法是ls <目录路径> ,如果要查看的是当前目录下的内容,可以省略路径。
ls命令支持-a和-l选项,添加-a选项可以显示指定目录里的所有内容,-l选项可以列出详细情况,-a和-l选项可以合并为-al
cd命令可以把任何一个目录调整成当前目录,使用方法如下
cd <目录路径>
mkdir命令可以创建目录,使用方法如下
mkdir <目录路径> 注意:这里的目录路径终点必须是一个还未存在的目录名,否则mkdir命令会提示使用错误。
当前目录是/home/tarena/StandardC,ls命令查看后发现有子目录day01,ls day01查看发现day01没有子目录了,那么命令mkdir day01/note day01/code的作用是?
当前目录是/home/tarena/StandardC/day01,ls ..命令查看后发现只有子目录day01,那么mkdir -p ../day02/note ../day02/code的作用是?
rmdir命令可以删除目录,它只能删除空目录,Usage:rmdir <目录路径>
rmdir -p a/b/c 等效于连续执行命令rmdir a/b/c rmdir a/b rmdir a 也等效于执行命令rmdir a/b/c a/b a
rm命令可以用于删除一个非空目录,Usage: rm -rf <目录路径>
touch <文件路径>可以创建一个空文件,例如touch abc.txt。touch命令有两个作用:一是可以创建一个空文件,二是可以更新一个已经存在的文件的修改时间,当然这时touch后面给出的文件路径应该描述了一个已经存在的文件。
rm命令单独使用就可以删除一个已存在文件,Usage: rm <文件路径>
cp命令可以把一个文件复制一份,Usage: cp <文件路径1> <文件路径2>
mv命令可以实现对文件的剪切效果,Usage: mv <文件路径1> <文件路径2>
tar命令可以用来打包归档若干文件或目录。Usage: tar zcvf archive.tar.gz <directory> <directory> <directory> ....
tar命令本来制作出来就是为了打包归档若干文件或目录,简言之其功能就是合并若干个文件或目录,之后tar命令又增加了压缩功能,所以往往tar命令打包归档若干文件或目录后又会进行压缩(例如gz压缩算法),所以我们往往看到的tar命令打包归档所创建文件命名都是*.tar.gz
tar命令同时也可以对压缩文件进行解压缩处理, Usage: zxvf archive.tar.gz
shell脚本文件可以包含多条操作命令,执行脚本文件就相当于顺序执行内部的所有操作命令。
ln命令可以制作链接文件,使用方法如下:
ln 文件路径1 文件路径2
文件路径1代表一个已经存在的文件,文件路径2代表一个还不存在的文件。
这样使用ln命令所制作的链接叫做硬链接。叫法上与硬链接对应的还有一种“软链接”,命令ln -s 文件路径1 文件路径2 制作的链接称为软链接。
(PS:每一个文件都由两部分组成:一是文件内容,二是文件名称,文件名称和文件内容中间存在一种连接,文件内容是文件名称存在且有效的必要条件,也就是说可以草率地说"文件"="文件名称->文件内容"。一般的操作系统为了提高磁盘操作效率,删除文件操作都只是删除了文件名称,取消了文件名称和文件内容的连接,文件内容不会被立即清理。
那么可以试验得出,
ln硬链接只制作文件名称,制作了一个新文件名称,使得其和原来的文件的文件内容连接。
ln软链接只制作文件名称,制作了一个新文件名称,使得其和原来的文件的文件名称连接,所以软链接是否有效依赖于原文件名称是否有效。
可以看出,windows操作系统中提供的“快捷方式”制作操作,其实质就是制作ln软链接。
cp命令创建了新文件(既包括文件名称,也包括文件内容),cp命令执行同时拷贝了文件内容和文件名;
)
ps命令,ps命令在终端中单独使用,可以查看当前终端运行的所有程序,每一个程序都会有进程ID,显示结果会显示各命令的PID TTY 和 COMMAND
查看进程命令ps的常用选项:
-a 列出所有的进程。
-w 列出进程时加宽显示以显示较多信息。
-au显示较详细的信息。
-aux显示所有进程较详细信息,包括其他使用者的进程。
附:ps -aux 或者 ps -au命令执行结果各列意思:
kill命令可以终止一个程序的运行,使用时候需要指明程序的进程ID。
kill可以添加选项-s 用来向操作系统发送信号。例如kill -9就可以发送代号为9的信号给操作系统,以图强制终止指定进程。
kill -l 可以列出linux系统的信号。编号为1~31的为传统UNIX支持的信号,称 为不可靠信号(非实时的),编号为32~63的是后来扩充的,称为可靠信号(实时信号)。