Linux知识点汇总
简介
Linux 是一套免费使用和开源的类 Unix 操作系统,是一个多用户、多任务、支持多线程和多 CPU 的操作系统。
发行版本
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian等.
Linux系统启动过程
- 内核引导
- 运行init
- 系统初始化
- 建立终端
- 用户登录系统
Linux系统的关机
正确的关机流程为:sync > shutdown > reboot > halt
sync #将数据由内存同步到硬盘
shutdown #关机指令
shutdown -h now #立马关机
shutdown –r now #系统立马重启
reboot #重启
halt #关闭系统
系统目录结构
重要目录解释:
/bin:里面放着Linux的重要命令
/etc:重要配置文件
/home:用户主目录
/opt:额外的自己装其他东西的目录
/tmp:存放临时文件的目录
/root:系统管理员目录
/usr:存放应用程序和文件的目录
Linux远程登录
终端利用ssh登录远程服务器步骤:
1.安装ssh
yum install ssh
2.启动ssh
service sshd start
3.登陆远程服务器
ssh -p [端口号] [服务器名称]@[服务器ip]
最后回车输入密码即可
文件基本属性
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等
- 当为 d 则是目录
- 当为 l 则是链接文件
- 当为 - 则是普通文件
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
Linux文件属主和属组
更改文件的执行权限
用数字作为参数更改文件的执行权限
#权限对应的数字
r:4 w:2 x:1
#可读可写不可执行 rw- 对应数字:6
#可读可写可执行 rwx 对应数字:7
chmod 777 #文件的最高执行权限,所有人可读可写可执行
用符号作为参数修改文件的执行权限
- user:用户
- group:组
- others:其他
那么我们就可以使用 u, g, o 来代表三种身份的权限
下面提到的a表示all,代指上面的三种用户
u +(加上权限) r
g -(除去权限) w [文件名称]
chmod o =(设定权限) x
a
举例:将test1的权限设置为rwxrwr- -
#touch test1 创建test1文件
#ls -al test1 查看test1文件的默认权限
-rw-r--r-- 1 root root 0 May 27 17:07 test1
#chmod u=rwx,g=rw,o=r test1 修改test1文件的权限
#ls -al test1
-rwxrw-r-- 1 root root 0 May 27 17:07 test1
文件与目录管理
相对路径和绝对路径
Linux中绝对路径以 / 开头
Linux中相对路径以 .(表示当前目录)或者 . .(代表上一级目录)开头
常用命令
ls(列出目录)命令
ls -a #列出所有文件,包括以.开头的隐藏文件
ls -l #可以简写为ll,显示文件的属性与权限等信息
ls -d #仅仅列出文件中的目录
cd(切换目录) 命令
cd [绝对路径或者相对路径]
pwd(显示当前所在路径)命令
mkdir(创建目录)命令
mkdir [目录名称] #创建一级目录
mkdir -p [多级目录名称] #递归创建多级目录
rmdir (删除空目录)
rmdir [目录名称] #删除一级空目录
rmdir -p [多级目录名称] #递归删除多级空目录
cp(拷贝目录或者文件)命令
cp [源文件][目标文件]
rm(移除文件或者目录)
rm -rf [文件或者目录] #强制删除文件或者目录
rm -i [文件或者目录] #删除前询问用户是否同意删除
mv(移动或者重命名文件)
mv -f [源文件或者目录] [目标文件或者目录] #强制移动
查看文件内容
cat [文件名称] 由第一行开始显示文件内容
tac [文件名称] 由最后一行开始显示文件内容
nl [文件名称] 显示行号查看文件内容
more [文件名称] 分屏显示文件内容
使用空格键翻页
enter代表向下看一行
:f可以看到当前的行号
less[文件名称]
空格键翻页
上下左右键代表翻动页面
q代表退出
/[字符] 可以向下查询字符串
?[字符] 可以向上查询字符串
head [文件名] 默认查看前10行内容
head -n #查看文件前n行内容
tail [文件名] 默认查看尾10行内容
tail -n #查看文章尾n行的内容
用户和用户组管理
Linux系统用户账号管理
useradd(添加新用户)命令
useradd [选项] [用户名]
userdel(删除用户)命令
userdel [选项] [用户名]
usermod(修改用户)命令
Linux系统用户组管理
groupadd(添加新用户)命令
groupadd [选项] [用户组名称]
groupdel(删除用户组)命令
groupdel [选项][用户组名称]
groupmod(修改用户组 )命令
groupmod [选项] [用户组名称]
与用户账号有关的系统文件
/etc/passwd文件:
用户管理工作涉及最重要的一个文件
1)"用户名"是代表用户账号的字符串
2)“口令”一些系统中,存放着加密后的用户口令字
3)“用户标识号”是一个整数,系统内部用它来标识用户
通常用户标识号的取值范围是0~65 535
0是超级用户root的标识号
1~99由系统保留,作为管理账号
普通用户的标识号从100开始
4)“组标识号”字段记录的是用户所属的用户组
与用户组相关的文件
用户组的所有信息都存放在/etc/group文件中
Vim
三种模式
1.命令模式
用户刚刚启动 vi/vim,便进入了命令模式
常用命令:
- i:切换到输入模式
- x:删除当前光标所在处的字符
- :进入底行模式
2.输入模式
在命令模式下按下i就进入了输入模式
可以任意输入你想要输入的内容
常用键:
- esc:退出输入模式
3.底行命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式
常用命令:
- q:退出程序
- w:保存文件
- wq:保存并退出
- q!:强制退出
- w!:强制保存
三种模式转化图:
vim快捷键
显示行号
:set nu
取消显示行号
:set nonu
查找指定字符
?[字符内容] #向下查找
/[字符内容] #向上查找字符内容
常用命令补充
find命令
语法:find[目录列表] [文件的匹配标准]
匹配标准 | 含义 |
---|---|
-name | 指定文件名字符串作为寻找文件的匹配标准,可用通配符*匹配 |
-type | 查找符合制定文件类型的文件 |
-links | 查找符合指定的硬链接数目的文件或者目录 |
-size | 查找符合指定文件大小的文件 |
-atime | 查找在指定时间内曾经被读取过的文件或者目录,单位按天计算 |
-mtime | 查找在指定时间内曾被改过的文件或者目录,单位以天计算 |
-ctime n | 在过去n天曾被修改过的文件 |
举例:
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
find . -name "*.c"
将目前目录其其下子目录中所有一般文件列出
find . -type f
将当前目录及其子目录下所有最近 20 天内更新过的文件列出
find . -ctime 20
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
find /var/log -type f -mtime +7 -ok rm {} \;
在当前目录查找文件长度大于2M的普通文件
find . -type f -size +2M
wc命令
用于统计给定文件的行数、字数、字符数
选项 | 含义 |
---|---|
-l | 统计行数 |
-w | 统计单词数 |
-c | 统计字符数 |
统计当前目录下有多少个文件
ls -l | wc -l
expr命令
expr命令是一个手工命令行计数器
语法:expr [表达式]
例如
计算字串长度
expr length “this is a test”
运行结果:14
抓取字串
expr substr “this is a test” 3 5
运行结果:is is
ping命令
检测主机网络是否联通
最终需要ctrl+z停止
ping www.baidu.com
netstat命令
显示网络状态
netstat -a
显示当前户籍UDP连接状况
nestat -nu
显示UDP端口号的使用情况
netstat -apu
查看当前某个端口号是否被占用
windows:
netstat -ano|findstr [端口号]
Linux:
nestat -anp | grep [端口号]
ps命令
列出所有进程
ps -A
查找指定进程
ps -ef | grep [进程关键字]
显示所有进程信息
ps -ef
kill命令
彻底杀死进程
kill -9 [进程号]
tar命令
压缩文件
tar -czvf [压缩后的文件名] [压缩前的文件名]
解压文件
tar -xzvf [压缩文件名]