学无止境
Linux是程序员必备的技能
学习指令过程还是照着敲一遍最好,印象深一点
Linux一切都是以文件的方式表示,包括用户、内核、程序等等
其中一些重要的目录:
目录 | 用处 |
---|---|
/bin | Binary的缩写,放着最常用的指令 |
/home | 家目录,存放普通用户的目录,每个用户都有一个自己的目录 |
/root | 系统管理员目录,管理员的用户目录 |
/lib | 系统开机需要的最基本的动态连接共享库,类似Windows里的DLL文件 |
/etc | 系统管理所需要的配置文件和子目录my.conf |
/usr和/usr/local | 很多用户的应用程序和文件都放在这个目录下,类似Windows的C : Program Files |
/opt | 放置文件,类似与Windows的D盘 |
boot | 存放启动Linux时使用的一些核心文件 |
/media | 识别的设备,例如U盘等,Linux会把识别的设备挂载到这个目录 |
/mnt | 系统提供为了用户临时挂载别的文件系统,外部存储,例如共享文件夹就在这下面 |
/var | 存放着不断扩充的东西,经常被修改的目录,包括各种日志 |
相信都应该知道相对路径与绝对路径
相对路径:相对与当前所在位置的路径
绝对路径:从根目录出发的路径
例如随便进一个目录:/usr/local
这就是绝对地址,绝对地址比较直观,但较麻烦
相对地址写法:
./ 指现在的文件夹
../ 上一级文件夹
现在想进/usr/local/src
相对地址写法:./src
想进入/usr/bin
相对地址写法:…/…/inclued
当然,想要进入本文件夹内的文件夹,也可以直接输入: cd 文件夹名
pwd指令(Print Working Directory ):指向当前文件目录的绝对路径
ls指令ls [选项] [目录或文件]
常用的选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-A 显示除 “.”和“…”外的所有文件。
-k 以 k 字节的形式表示文件的大小。
-l 以列表形式显示出文件的详细信息。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-S 以文件大小排序。
-R 列出所有子目录下的文件
ls -l 也可以写成 ll(快捷键)
cd指令cd [参数]
常用参数:绝对路径、相对路径、不含参数或者~ 、…
cd命令用于切换从当前工作目录至 dirName(目录参数)
可以通过绝对路径、相对路径定位目录位置
当不含参数或者~时,回到家目录(root的家目录是/root,普通用户家目录是/home/用户)
参数是…,返回上一级目录(最上级目录是根目录)
mkdir 用于创建目录
mkdir [选项] 要创建的目录
如果想建一个多级的目录,选项设置为-p
mkdir -p a/b/c
删除rmdir
rmdir [选项] 要删除的空目录
如果rmdir删除的目录下有文件就无法删除
需要:rm -rf 目录
想操作其他的目录可以使用相对路径或绝对路径
touch指令创建空文件
touch 文件名
cp复制
cp(copy) 指令拷贝文件到指定目录
cp [选项] 文件目录 指定目录
有这些选项:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
如果是目录文件,可以-r递归复制
将test文件夹全部复制到abc文件夹
abc文件夹下存在test文件夹
rm 删除文件夹或者文件
rm [选项] 文件或目录
选项:
-r:递归删除整个文件夹
-f:强制删除不提示
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
-r删除时会提示
输入y/n,选择是否
rm -f 删除不了文件夹
所以结合着用:rm -rf
删库跑路
mv(move)移动文件、文件夹或者重命名
mv 文件或目录 文件或目录
重命名:
移动:会有提醒
enter就是默认确定
cat用于连接文件并打印到标准输出设备上,也就是查看文件
cat [选项] 要查看的文件
-n 或 --number:由 1 开始对所有输出的行数编号
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
cat /etc/profile|more
可以让文件只显示一页,如果是cat /etc/profile会把文件都显示出来
通过enter可以查看下一行
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容
more 要查看的文件
主要操作:
less指令用来分屏查看文件内容,和more类似,但是比more更强大,支持各种显示终端
less不会讲整个文件加载完后再显示,而是根据需求加载内容(大文件效率高)
less 要查看的文件
支持操作:
echo输出内容到控制台
echo [选项] [输出内容]
选项:
-n:输出之后不换行
-e:对于转义字符按对应的方式处理,假设不加-e那么对于转义字符会按普通字符处理
转义字符:
重定向:把内容输出到文件里而不是标准输出
echo -e "hello\nhello">b.txt
head指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
head [选项] 文件
继续查看配置文件 profile: head /etc/profile
默认显示10行(空行也算一行)
改变显示行数:head -n 行数 文件
head -n 5 /etc/profile
tail指令
tail用于输出文件尾部的内容,默认情况下tail指令显示文件的后10行内容
和head一样的改变方法:tail -n 行数 文件
和 >> 指令">
> 和 >> 指令这两个符号:> 输出重定向、 >> 追加
这两个符号可以把将要显示的内容输出到指定文件
其中>输出重定向会覆盖
而>>是追加
可以使用这两个符号的有:
ls -l >文件
将当前文件夹的目录列表输出到指定文件并覆盖ls -l >> 文件
追加
cat 文件1 > 文件2
将文件1的显示内容输出到文件2
这两个符号是将要显示到控制台的信息重定向输入到指定文件
ln链接ln指令是为某一个文件在另外一个位置建立一个同步的链接,类似与快捷键
ln -s [原文件或目录] [链接名]
也就是在当前位置创建一个文件或目录的快捷键
其实在Linux目录中有很多这种链接
/根目录下
ln是一个很重要的指令
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
查看已经执行过历史命令,也可以执行历史指令
直接在当前目录history就可以了
history [最近的指令数]
它会把一段时间的使用过的指令都显示
bash中默认命令记忆可达1000个。这些命令保存在主文件夹内的.bash_history
history 3
最近3条指令
Linux 文件目录类常用的大致就这些,很多都是英文的直接意思
跟着敲了一遍,对它们有了一点印象
Linux是一个操作系统,学习使用Linux确实比较枯燥