linux学习记录
Posted 木心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习记录相关的知识,希望对你有一定的参考价值。
1、vim的使用
2、linux关机重启注销
3、linux用户管理
4、linux运行级别
5、linux常用指令
6、linux组管理和权限管理
7、linux任务调度
8、linux网络配置
9、linux进程管理和服务管理
学习 linux 的流程:
1、vim的使用 <--返回目录
1) vim的三种模式
1.1、正常模式
在正常模式下,可以使用快捷键。以vim打开一个文档后直接进入正常模式。在这个模式下,可以使用[上下左右]按键来移动光标,可以使用【删除字符】或【删除整行】来处理文档内容,也可以使用【复制、粘贴】来处理文档。
1.2、插入(insert)模式
在该模式下,可以输入内容编辑文档。正常模式下,按i、I、o、O、a、A、r、R等任何一个字母之后进入插入模式,一般来说按i即可。
1.3、命令行模式
在这个模式下,可以输入相关指令,完成读取、存盘、替换、离开vim、显示行号等功能。
1.4、三种模式的相互切换
2) vim的常用快捷键
2.1、拷贝当前行 yy,拷贝当前行及向下5行 5yy,并粘贴 p
2.2、删除当前行 dd,删除当前行及向下的5行 5dd
2.3、在文件中查找某个单词,命令行下"/" + 关键字,回车查找,输入n查找下一个
2.4、设置行号,命令行模式:set nu,取消行号,命令行模式:set nonu
2.5、正常模式下,G进到文件最末行,gg进到文件首行
2.6、正常模式下,u可以撤销刚才的若干操作
2.7、正常模式下,如何将光标快速切换到某个指定行:首先显示行号:set nu,切到正常模式,输入20,然后shift+g。
2、linux关机重启注销 <--返回目录
1)shutdown
shutdown -h now: 表示立即关机
shutdown -h 1: 表示1分钟后关机
shutdown -r now: 立即重启
2)halt
效果等于关机
3)reboot
重启系统
4)sync
把内存的数据同步到磁盘
注意:当我们关机或重启时,应该先执行sync指令,把内存的数据写入磁盘,防止数据丢失。
3、linux用户管理 <--返回目录
1)创建用户
useradd [选项] 用户名
1.1、useradd zs: 创建用户zs,并且自动创建与用户同名的家目录/home/zs
1.2、useradd -d /home/zs1 zs: 创建用户zs,家目录为/home/zs1
2)给用户指定或修改密码
passwd 用户名
3)删除用户
userdel 用户名: 删除用户,但是保存家目录
userdel -r 用户名:删除用户以及家目录
4)查询用户信息
id 用户名
结果:用户id 组id 组名
5)切换当前账号(用户)
su root, 然后输入root用户的密码
su - 用户名:切换到指定用户。当从高权限用户切换到低权限用户,无需密码,反之需要。
exit:回到原来的账号
6)创建组
groupadd 组名
7)删除组
groupdel 组名
8)创建用户时指定组
useradd -g 组名 用户名
id 用户名:查看用户信息,可以看到该用户所在的组
9)修改用户的组
usermod -g 新组名 用户名
10)用户和组的三个相关文件
用户信息:/etc/passwd
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:家目录:登录shell
组信息:/etc/group
每行的含义:组名:口令:组标识号:组内用户列表
口令信息:/etc/shasow
4、linux运行级别 <--返回目录
1)7种运行级别
0:关机 1:单用户【找回丢失密码】 2:多用户状态没有网络服务 3:多用户状态有网络服务
4:系统未使用保留给用户 5:图形界面 6:系统重启
常用运行级别是3和5。
要修改默认的运行级别可以改文件/etc/inittab的id:5:initdefault:这一行中的数字
2)切换到指定运行级别
init [0123456]
init 0:关机
init 5: 切换到图形界面
3)linux系统启动过程
开机 -> Bios -> /boot -> init进程 -> 运行级别 -> 运行级别对应的服务
5、linux常用指令 <--返回目录
5.1、帮助指令
man 指令名
指令名 --help
5.2、pwd
查看绝对路径
5.3、ls 【选项】 【目录】
ls -a: 查看当前目录下的内容,a表示包含隐藏文件
ls -al: 查看当前目录下的内容,a表示包含隐藏文件,l表示以长列表展示
ll: 查看当前目录下的内容,并以长列表展示
ll -a: 查看当前目录下的内容,并以长列表展示, a表示包含隐藏文件
5.4、cd 指定路径
cd 指定路径:切换到指定目录
cd ~: 回到家目录
cd ..:切换到上一层目录
cd ../../a: 切换到上上层目录的a目录
5.5、mkdir 【选项】 要创建的目录
mkdir x: 创建目录x
mkdir -p ./a/b: 参数 -p 表示创建多级目录
5.6、rmdir 【选项】 要删除的空目录
如果目录下有内容,无法删除
5.7、rm -rf 要删除的目录: 删除指定目录及该目录下的所有内容
-r: 递归删除, -f: 强制删除不提示
rm a.txt: 删除a.txt文件
5.8、cp 【选项】 source dest
cp -r a b: 递归拷贝当前a目录成b目录
5.9、mv: 移动或重命名
mv aa.txt bb.txt: 将aa.txt重命名为bb.txt
mv aa.txt /root: 将aa.txt移动到/root目录下
5.10、cat 【选项】 文件
cat -n a.txt: 浏览a.txt, -n显示行号
cat -n a.txt | more: 分页浏览
5.11、more 文件:浏览文件
space键: 向下翻页
enter键: 下一行
ctrl + F: 下一屏
ctrl + B: 上一屏
q: quit
=: 当前显示最后一行行号
:f: 当前显示的文件及最后一行行号
5.12、less: 分屏查看文件,在显示文件内容时,不是一次加载整个文件,而是根据显示需要加载内容。
space键:向下翻页
pagedown:向下翻页
pageup: 向上翻页
/字符: 向下查找【指定字符】,n 下一个匹配,N上一匹配
?字符: 向上查找【指定字符】,n 下一个匹配,N上一匹配
q: quit
5.13、重定向:>和>>
ll -a > a.txt: 将数据source写到a.txt,旧内容被覆盖
ll -a >> a.txt: 将数据source追加到a.txt
echo \'aaa\' >> a.txt
cat 1.txt 2.txt > 3.txt 合并多个文件到一个文件中
5.14、echo
env: 查看所有环境变量
echo $PATH: 输出环境变量PATH
5.15、head: 用于显示文件开头部分内容,默认显示文件前10行
head -n 4 a.txt: 显示文件前4行
5.16、tail: 用于显示文件末尾部分内容,默认显示文件最后10行
tail -n 4 a.txt: 显示文件最后4行
tail -f 文件:实时显示文件更新
5.17、ln -s 【原文件或目录】 【软链接名】:软连接
rm -rf 软链接名:删除软链接(软链接名后不带/)
ln [文件或目录] 硬连接名:硬连接
当文件的硬连接数为 0 时,文件才会真正删除。
5.18、find指令:从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端
基本语法:find [搜索范围] [选项]
find /home -name a.txt: 在/home目录及子目录以文件名查找a.txt
find /home -name *.txt: 在/home目录及子目录以文件名查找所有.txt文件
find /home -user 用户名:查找指定目录下属于某个用户的文件或目录
find / -size +100M: 查找大于100M的文件; 单位M、k; 小于-100M,等于100M
5.19、locate a.txt,首先使用指令updatedb创建数据库
5.20、管道符号 "|": 将前一个命令的处理结果输出给后面的命令处理。
5.21、grep: 过滤查找
基本语法:grep [选项] 查找内容 源文件
选项-n 显示行号,-i忽略大小写
grep -ni xxx a.txt
cat a.txt | grep -ni xxx
tail -f /home/xxx/log.log | grep xxx
grep "^abc" a.txt 查找以 "abc" 开头的
grep "abc$" a.txt 查找以 "abc" 的结尾的
5.22、gzip和gunzip:压缩和解压缩文件(非目录)
gzip 文件名: 将文件压缩成*.gz,源文件没了。
gunzip 文件名.gz: 解压,*.gz没了。
5.23、zip和gzip
zip 【选项】 xx.zip 要压缩的文件或目录
zip ../b/b.zip aa.txt: 将当前的aa.txt压缩到../b目录下,命名为b.zip
zip -r *.zip ../a: -r递归压缩
gzip -d /home/aaa a.zip: 解压a.zip到/home/aaa目录下,-d指定目录directory
5.24、tar 【选项】 xx.tar.gz 打包的内容
-z 打包同时压缩
-v 显示详细信息
-f 指定压缩后的文件名
-x 解包.tar文件
-c 产生.tar打包文件
tar -czvf a.tar.gz a.txt b.txt:将a.txt和b.txt压缩成a.tar.gz
tar -xzvf a.tar.gz:解压到当前目录
tar -xzvf a.tar.gz -C /usr/local:解压到指定目录
tar -cjvf a.tar.bz2 *.txt 压缩
tar -xjvf a.tar.bz2 解压
6、linux组管理和权限管理 <--返回目录
6.1、在linux中每个文件有所有者、所在组、其他组的概念
所有者:一般为文件的创建者,谁创建了该文件,就自然成为该文件的所有者
查看文件的所有者:ls -lha 文件名或目录名
a.txt所有者为oy,所在组为oy
修改文件的所有者:chown 用户名 文件名:
修改文件所在组:chgrp 组名 文件名
修改文件所有者和所在组: chown [-R] newowner:newgroup file, -R递归修改
6.2、改变用户所在的组
usermod -g 组名 用户名:改变用户所在的组
usermmod -d 目录名 用户名:改变用户登录的初始目录
6.3、文件和目录的权限
-rwxr--r--:第一位是文件的类型 ;-普通文件,d 目录,l 软连接,c 字符设备键盘鼠标,b 块文件 硬盘
第2-4位表示所有者的权限,第5-7位表示所在组的权限,第8-10位表示其他组的权限。
r=4,w=2,x=1,所有rwx=4+2+1=7
6.4、chmod修改权限
例子:
7、linux任务调度 <--返回目录
7.1、crontab 【选项】
-e: 编辑
-l: 查询
-r: 删除
快速使用:
1)crontab -e
2)输入 */1 * * * * ls -l /home >> /tmp/a.txt
5 个占位符的含义:
7.2、执行脚本
1) 编写test.sh
date >> /home/oy/桌面/test.txt
2) 设置文件权限 chmod 744 /home/oy/桌面/test.sh
3) crontab -e
*/1 * * * * /home/oy/桌面/test.sh
7.3、查看crond服务或重启
7.4、查看linux发行版本
8、linux网络配置 <--返回目录
8.1、原理图
8.2、查看网络IP和网关
查看网关
8.3、linux网络环境配置
1)自动获取ip
linux启动后会自动获取ip,每次自动获取的ip地址可能不一样。这种配置不适用于做服务器,因为服务器的ip需要是固定的。
系统->首选项->网络连接->System etho编辑,选中"自动连接"
2)修改配置文件指定ip
配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
修改后:
9、linux进程管理和服务管理 <--返回目录
9.1、ps -aux
ps -ef: 可以查看ppid某个进程的父进程
9.2、kill [-9] 进程号pid
killall 进程名:可以使用通配符,kill某个进程及子进程
9.3、pstree
9.4、服务管理
服务本质就是进程,运行在后台,通常会监听某个端口,等待其他程序的请求。因此又称为守护进程。
service 服务名 start/stop/status/restart/reload
centos7.0使用systemctl
service iptables start/stop
service iptables status
9.5、查看某个端口是否打开
比如在windows平台上使用xshell连接linux系统后
1)linux指令ifconfig查看ip
2)telnet ip port
打开某个端口:vim /etc/sysconfig/iptables
9.6、windows启动telent客户端
控制面板-> 打开或关闭windows功能
9.7、查看系统有哪些服务
cd /etc/init.d
9.8、通过chkconfig指令可以给每个服务的各个运行级别设置自启动/关闭
查看服务chkconfig --list | grep xxx
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off;注意:重新设置是否自启动后要重启系统reboot才能生效。
9.9、进程的监控 top [选项]
top指令会更新正在运行的进程
选项-d 秒数:指定top命令每隔几秒更新。默认是3秒
选项-i:不显示闲置或僵死进程
选项-p:通过指定进程ID来仅仅监控某个进程的状态
动态交互选项:
P: 按cpu使用率排序,默认就是此选项
M: 以内存使用率排序
N: 以PID培训
q: 退出top
监视特定用户:top交互界面,按u, 输入用户名,回车
top交互界面,按k,输入pid,可以终止指定进程
9.10、查看系统网络情况 netstat -anp
选项-an: 按一定顺序排列输出
选项-p: 显示哪个进程在调用
显示正在监听22端口,服务名为sshd
---
以上是关于linux学习记录的主要内容,如果未能解决你的问题,请参考以下文章