1、shell:是一个命令行解释器,将用户命令解释为操作系统所能理解的指令,实现用户与操作系统的交互。
2、主流shell:sh、csh、ksh、bash。
3、命令三要素:命令名称、选项、参数(注意:命令名称必须放在三要素的最前面,对于大部分命令,选项及参数可以互换。通常情况下,选项前面会出现一个-)
4、history:查询历史命令 echo $变量:打印变量 重启配置文件:source 配置文件名 alias:命令别名=‘命令名称‘(在终端上执行,作用范围限于当前终端,用于改命令名字。若想实现任何终端都识别命令别名:将alias命令放在~/.bashrc文件中,然后通过source命令重启文件)
5、ls -a:显示当前终端所以文件 -sh:显示文件大小(不满足4K要以4K显示) -R:从当前目录开始递归显示所有子目录内容 -i:查看inode节点
-l:列出文件详细信息 以下为某一个文件详细信息各部分解释
d文件类型(
-普通文件 b块设备文件 c字符设备文件 d目录文件 l软链接文件 p有名管道文件 s套接字文件)
rwx用户权限{r可读 w可写 x可执行 用户八进制表示)
rwx用户组权限
r-x其他用户权限
2硬件链接个数
linux用户
Linux用户组
4096文件大小
时间:时间戳(文件最后一次修改时间)
rm -rf * 删除当前目录下所有文件 ls -l ?.c 匹配一个字符.c文件 ls -l *.c 匹配任意长度字符.c文件
6、管道:| 在内核空间创建的一片区域(特性:用来传输数据,管道有两端) 使用:命令1 | 命令2 |命令3 | ......(注意:使用管道之前先确定左端的命令1单独执行的时候在左端有没有输出,有输出就可以使用管道)
7、wc 用来统计
-c用来统计字节数 -l统计行数 -w统计单词个数
8、重定向符号 :左端一定是命令 重定向符号 右端一定是文件名
1)输出重定向 >文件名:本来应该写到终端的数据被写入了文件中,如果重定向文件不存在,就先创建文件
2)输出重定向追加模式 >>文件名:
如果重定向文件不存在,就先创建文件件 ;如果存在,则从文件尾部写入
3)输入重定向 <文件名:
4)错误输出重定向2>(&>)文件名:将由命令产生的错误信息输入到一个文件中(文件描述符:0,1,2)
9、管道与重定向符号的区分:
1):管道左右两边都是命令,重定向左端是命令,右边是文件
2):重定向符号左端命令可读可写
10、命令置换符··:一条命令的输出作为另一条命令的参数
绝对路径:一定以跟目录为起点
相对路径:任意路径作为起点
(注意:写、打印、输出同一概念 读、输入同一概念)
11、cat -n 文本文件:显示文本文件
12、mv 源文件 路径:移动文件
13、mkdir -p ./a/b/c:递归创建文件夹
14、cd -:返回到上一次的操作路径
15、grep “^字符串$" 路径 -R -n:递归搜索以字符串开头和结尾的字符串,并显示行号 注意:搜索的是文件内部的字符串
16、ps:查询进程号 ps -ef | grep"字符串" 注意:这里的字符串是进程名字
17、输出一个文件的第六行:cat note.txt |head -6 |tail -1
18、cut 文件名 -d '分隔符' -f 字段编号:取出分隔符前面或后面的部分
19、find -name 文件名:从当前目录下搜索文件位置
20、diff 文件1 文件2:比较两个文件是否相同
21、打补丁:
1、diff -ruN old new > patch.diff
注意:老版本放在前面
选项r:递归子目录
u:同意两个版本的格式
N:保证补丁文件的正确修改
2、切换到老版本
patch -p1 < ../patch.diff
还原补丁:patch -Rp1 < ../patch.diff
echo 字符串
1、如果字符串中出现多个连续空格,并且需求为输出多个空格,在字符串外围加双引号
2、如果字符串中出现多个连续空格,并且需求为输出一个空格,在字符串外围不加双引号
echo $变量
环境变量:PATH 存放的是shell的默认搜索路径
如果某一条命令不能使用:比如ls不能使用
1、which ls
2、export PATH=$PATH:ls命令的绝对路径
上面的情况只适合当前终端生效。
3、使一个命令永久生效:将export PATH=$PATH:绝对路径 添加到/etc/bash.bashrc文件中,最后使用source /etc/bash.bashrc 重启文件
修改权限:1、chmod 八进制 文件名
2、chmod u/g/o/a+/-权限 文件名 注意:+或者-的两边不能出现空格
如果目录没有读权限,不能正常查看目录下内容
如果目录没有写权限,不能正常在目录下创建子文件
如果目录没有执行权限,不能正常切换目录
获取帮助:man(最全的) info(特殊问题) --help(简易手册)
man 1 shell命令或者可执行程序
man 2 内核函数或者系统调用
man 3 库函数
info 命令
命令 --help
sudo reboot重启
切换用户:su 用户名
退出用户时一定要使用exit退出
知识点补充:
1、wall 对全部已登录的用户发送信息 write 向系统中某一用户发送消息(需要超级用户权限)
2、mesg 设定是否允许接受其他用户给自己发送的消息
3、sync 将内存中的数据写回硬盘,并释放内存,通常在关闭linux系统前使用
4、shutdown 关闭或重启系统(需要超级用户权限)
5、date (-s) 显示系统时间(设置系统时间)
6、pwd 显示用户在文件系统中的当前位置cd
7、cd / 返回跟目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录
8、file 判定文件类型
tar 归档文件名 一系列待归档文件名 作用:将一系列文件归档
9、zip 与unzip:(以下待压缩文件均以1.c举例)
1)zip 1.zip 1.c 作用: 压缩文件
2)unzip 1.zip 作用:解压文件
10、gzip与gunzip
1)gzip 1.gz 1.c 作用:压缩文件
2)gunzip 1.gz 作用:解压文件
11、bzip2与bunzip2
1)bzip2 -d 1.bz2
2)bunzip -d 1.bz2
注意9.10.11压缩方式均不能对目录进行压缩
12 、一步打包压缩:tar -czvf 1.c.tar.gz 1.c
一步拆包解压:tar -xzvf 1.c.tar.gz
13、uname -r :查询内核版本号 gcc 程序名 -o 生成文件名
14,、ctrl shift + (ctrl - ):调大(调小)linux终端的字体 ctrl shift n :切换linux终端最初的登录界面 main Tab :补齐主函数
15、ctrl l (clear) :清屏 typedef:给已存在的类型取新名字 底行模式下:vsp 文件名 (同个终端打开另一个文件)
16、拷贝文件夹:cp 路径/源文件 路径/目标文件 -r/a
17、t 权限(既有t权限,又有x权限):防止误删除