linux基础知识
1.Linux 快捷键
1.1命令和路径补齐:
Tab
1.2主键盘快捷键:
历史命令切换: | |
---|---|
历史命令: | history |
向上遍历: | Ctrl+p向上翻滚命令同↑ |
向下遍历: | Ctrl+n向上翻滚命令同↓ |
光标移动: | |
向左: | Ctrl+b |
向右: | Ctrl+f |
移动到头部: | Ctrl+a |
移动到尾部: | Ctrl+e |
删除字符: | |
删除光标后边的字符: | Ctrl+h |
删除光标前边的字符: | Ctrl+d |
删除光标前的所有内容: | Ctrl+u |
2.Linux系统目录结构:
目录名: | |
---|---|
根目录:/ | |
/bin | bin是Binary的缩写, 这个目录存放着最经常使用的命令。 |
/dev | dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 |
/etc | 这个目录用来存放所有的系统管理所需要的配置文件和子目录。(etc配置文件) |
/home | 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 |
/media | linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了 。 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录。 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。 |
/boot | 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 |
/lib | 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: |
/sbin | s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 |
/selinux | 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 |
/srv | 该目录存放一些服务启动之后需要提取的数据。 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。 |
/tmp | 这个目录是用来存放一些临时文件的。 |
/usr/bin | 系统用户使用的应用程序。 |
/usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序。 |
/usr/src | 内核源代码默认的放置目录。 |
/var | 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 |
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
3.路径
绝对路径 | 从根目录开始写 /home/itcast/aa |
---|---|
相对路径 | 相对于当前的工作目录而言 . 当前目录 … 当前的上一级目录 |
符号意义:dengwei@dengwei-virtual-machine:/$ | dengwei:用户名 @: at 在 dengwei-virtual-machine: 主机名 ~: 用户的家目录(宿主目录) $: 当前用户为普通用户 #: 超级用户 – root |
超级用户切换:sudo su或者su - root
4.文件和目录操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OHZGEOpV-1620437395346)(C:\Users\wei\AppData\Roaming\Typora\typora-user-images\image-20210507200325422.png)]
查看目录内容: | |
---|---|
ls | -l详细内容 -a显示隐藏文件 -h显示文件大小单位以k结尾 |
切换目录: | |
cd | cd 与 cd ~直接返回家目录 cd - 返回上一个目录 |
查看当前目录 | pwd |
创建目录: | |
mkdir | mkdir dirname 创建一个目录 mkdir dir/dir/dir -p 递归创建目录 |
删除目录(基本不用): | |
rmdir | 可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。 |
创建文件 | touch |
删除目录和文件 | |
rm | rm dirname删除一个存在的空目录 rm dirname -r 递归删除目录 rm -i 删除提示 rm -f 强制删除,忽略不存在的文件,无需提示 |
复制操作 | |
cp | -a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 -f 已经存在的目标文件而不提示 -i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 -r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 -v显示拷贝进度 |
查看文件内容(常用) | |
cat、more | more 空格向下一屏B向上一屏 回车向下一行 |
移动文件与改文件名 | |
mv | -f禁止交互式操作,如有覆盖也不会给出提示 -i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 -v显示移动进度 |
硬链接与软连接 | |
ln | ln file file硬链接不会占用额外的磁盘空间改变的只是硬链接计数 目录或文件ln -s file file软连接只是快捷方式只能文件 |
5.文件或目录属性: (理解内容, 非重点)
wc | 查看文件的字数、字节数、行数 |
---|---|
od | 查看二进制文件 |
du | 查看当前目录大小-h |
df | 查看磁盘使用情况-h |
which 查看命令在哪个目录下cd是内嵌命令
6.文件权限, 用户, 用户组
查看当前用户 | whoami |
---|---|
修改文件权限: | |
文字设定法:chmod [who] [+][-][=] [mode] file | |
who: 文件所有者: u 文件所属组: g 其他人: o 所有的人: a +: 添加权限: -: 减少权限 =: 覆盖原来的权限 | chmod a+x file |
数字设定法: | |
r: 4 w: 2 x: 1 删除权限用- | chmod 777 file |
7.查找和检索
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 0777 | 查找当前目录下权限为 777 的文件或目录 |
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
grep [-选项] ‘搜索内容串’文件名
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。
常用选项说明:
选项 | 含义 |
---|---|
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
grep搜索内容串可以是正则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep常用正则表达式:
参数 | 含义 |
---|---|
^a | 行首,搜寻以 m 开头的行;grep -n ‘^a’ 1.txt |
ke$ | 行尾,搜寻以 ke 结束的行;grep -n ‘ke$’ 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n ‘[Ss]igna[Ll]’ 1.txt |
. | (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n ‘e.e’ 1.txt |