Linux学习笔记
一、Linux的文件夹
- /:根目录
- /bin:是Binaryl的缩写,这个目录存放着最经常使用的命令
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
- /root:该目录为系统管理员,也称作超级权限者的用户主目录
- /Iib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
- lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- /etc:所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库my.conf
- /usr:这是一个非常重要的目录,软件安装在这里,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program file目录。
- /boot:存放的是启动Liux时使用的一些核心文件,包括一些连接文件以及镜像文件
- proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器 - /srv:service缩写,该目录存放一些服务启动之后需要提取的数据
- /sys:这是iux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
- /tmp:这个目录是用来存放一些临时文件的
- /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,比如vmtools设置的共享文件夹
- /opt:这是给主机额外安装软件所摆放的目录。下载的软件可以放在这里,如安装ORACLE数据库就可放到该目录下。默认为空
- /var:是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
二、vim常用命令
- **一般模式:**常用快捷键-复制、删除、定位
- 默认进入就是一般模式,按 “i键” 或者 “a键” 切换编辑模式 或 按":" 或 "/"见键切换命令模式
- 常用命令:
- 复制:
yy
复制当前行,p粘贴n yy
复制n行,p粘贴
- 删除:
dd
删除当前行n dd
删除从当前行开始往下n行
- 定位:
G
:定位到最末行gg
:定位到最手行n gg
:定位到第n行n shift键 g
:定位到第n行
- 撤销操作:
u
- 复制:
- **编辑模式:**用于编辑文件
- 按 “
i
键” 或者 “a
键” 进入编辑模式,按esc键退出编辑模式切换到一般模式
- 按 “
- **命令模式:**用于保存文件、退出文件、强制退出、保存并退出
- 按 “
:
” 或 "/
"见键进入命令模式,按esc键退出命令模式切换到一般模式 - 常用命令:
- 设置行号-
:set nu
- 取消设置行号
:set nonu
- 查找某个元素:
/hello
(查找hello)
- 设置行号-
- 按 “
三、用户管理相关
1、关机、重启、登录、注销
- 保存数据命令:
- 不管是重启开始关闭系统,都要先运行
sync
命令,把内存的数据同步到磁盘
- 不管是重启开始关闭系统,都要先运行
- 关机命令:
shutdown -h now
:立刻进行关机shutdown -h 60
:60分钟后进行关机ha
lt:也是关机
- 重启命令:
shutdown -r now
:立刻进行重启shutdown -r 60
:60分钟后进行重启reboot
:也是重启
- 切换用户命令:
su 用户名
:切换到xx用户,su root
切换到root用户logout
:注销用户-退出当前用户,退出当前登录,只在运行级别3(多用户在线)上有效。exit
:注销当前用户,退出当前登录- 如原先为root用户,后
su lee
切换到了lee用户,则logout/exit
,为退出lee用户回到root用户,如果再继续logout/exit
则退出登录了
2、用户管理
- 添加用户:
useradd 用户名
,创建用户lee,useradd lee
,用户创建成功后会默认创建和该用户名相同的家目录user -d 指定目录 用户名
:创建用户并指定用户家目录
- 设置密码:
passwd 用户名
:给用户lee设置密码,输入passwd lee
,再连续输入两次密码和回车pwd
:显示当前所在地点who am i
:显示当前登录用户、最近登录时间、主机ip地址
- 删除用户:
userdel 用户名
:删除用户lee,但不删除家目录userdel lee
userdel -r 用户名
:删除用户lee,且删除家目录userdel -r lee
- 查询用户信息:
id 用户名
:查询用户lee的用户名和所属组,id lee
- 用户组:
- 创建组:
groupadd 组名
:创建组,组名为wudang,groupadd wudang
- 删除组:
groupdel 组名
:删除组名为wudang的组,groupdel wudang
- 添加用户时,指定用户到组:
useradd -g 组名 用户名
:创建用户zsf,添加到组wudang,useradd -g wudang zsf
- 修改用户组:
usermod -g 组名 用户名
:修改用户zsf组到mojiao,usermod -g mojiao zsf
- 创建组:
- 和用户有关的文件:
/etc/passwd
:用户的配置文件,记录用户的各种信息;- 每行的含义:用户名口令:用户标识号:组标识号:注释性猫述:主目录:登录Shell
/etc/shadow
:口令的配置文件- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效间标志
/etc/group
:组的配置文件,记录Linux包含的组的信息- 组名:口令:组标识号:组内用户列表
3、运行级别
基本介绍:
0:关机
1:单用户【用于找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务(multi-user.target)
4:系统未使用保留给用户
5:图形界面(graphical.target)
6:系统重启
- 常用运行级别是3和5,也可以指定默认运行级别
- 切换运行级别:
init 运行级别
:切换运行级别到图像界面,init 5
- 设置默认运行级别:
systemctl get-default
:获取默认运行级别systemctl set-default 运行级别英文
:切换默认运行级别为图形化界面systemctl set-default graphical.target
- 在配置文件/etc/inittab种存放了运行级别的信息:
- 查看信息:
cat /etc/inittab
- 查看信息:
4、找回root密码
http://t.csdn.cn/wBO6e
5、帮助指令
man 指令或者配置文件
:man ls
查看ls
指令的帮助信息help 指令
:help cd
查看cd指令的帮助信息
四、文件目录指令
1、pwd指令
pwd
:显示当前工作目录的绝对路径
2、ls指令
ls
:显示当前目录内的文件和文件夹
ls -l
:显示当前目录内的文件和文件夹,以列显示
ls -a
:显示当前目录内的文件和文件夹,也显示隐藏文件
ll
:显示当前目录内的文件和文件夹,以列显示,更加详细
ll -h
:显示当前目录内的文件和文件夹,以列显示,文件带详细大小,更加更加详细
ls 文件/文件名
:如果是文件名则显示文件夹内的文件和文件夹,如果是文件则显示文件信息
ll 文件/文件名
:如果是文件名则显示文件夹内的文件和文件夹,如果是文件则显示文件信息,以列显示,更加详细
ll 文件/文件名
-h:如果是文件名则显示文件夹内的文件和文件夹,如果是文件则显示文件信息,以列显示,文件带详细大小,更加更加详细
3、cd指令
cd 目录
:切换到指定目录
cd ..
:返回上一级目录
cd
/:回到根目录
cd ~
:回到当前用户家目录
4、mkdir指令
mkdir 文件夹名
:创建文件夹,在当前目录下创建wudang和mojiao文件夹,mkdir wudang
,mkdir mojiao
mkdir 目录
:在目录下创建文件夹,mkdir /home/root/wudang
:在/home/root目录内创建名为wudang的文件夹
mkdir -p 目录
:创建多级文件夹,mkdir -p /home/root/wudang/syq/sqs
:在/home/root/wudang内创建syq的文件夹,在syq文件夹内创建sqs文件夹
touch 文件名
:在当前目录创建hello.txt文件,touch hello.txt
5、rm指令
删除
rmdir 目录
:删除目录下的文件夹,rmdir /home/root/mojiao,删除mojiao文件夹
rm -rf 目录
:递归删除目录下的所有,rm -rf /home/root/wudang:删除武当文件夹内的所有文件
6、cp指令
复制
cp 源地址 目标地址
:cp /home/a.txt /home/bbb:将hello.txt拷贝到bbb目录下
cp -r 源地址 目标地址
:cp /home/ /home/bbb:将home目录下的所有文件拷贝到bbb目录下(覆盖)
\cp -r 源地址 目标地址
:不覆盖
7.mv指令
移动
mv 源地址 目标地址
:mv /home/a.txt /home/bbb/b.txt
,移动并且重命名为b
8、cat指令、less指令、head指令、tail指令
查看文件
cat 要查看的文件
:查看文件
cat -n 要查看的文件
:查看文件并且显示行号
cat和less的基本用相同:less是动态加载,cat是要全部加载完才会查看
cat 要查看的文件 | 管道命令
:cat hello.txt | more
把要查看的文件交给左边,左边功能更强大,可以分页看(空格下一个,回车下一行,q退出)
head和tail一个显示头一个显示尾
head -n
:head -5
(显示头5行)
tail -n
:tail -5
(显示尾5行)
tail还有监视文件内容变化作用:tail -f 文件
(可以监视文件变化,如新增数据,减少数据,ctrl+c退出监视)
9.echo和>、>>指令
输出
echo 内容
:输出内容到控制台
>
:重定向
>>
:追加
echo 内容 > 文件
:输出内容到文件(覆盖文件原有内容)
echo 内容 >> 文件
:输出内容到文件(追加内容到原文件内容尾部)
ls -l > 文件
:将当前列表的内容写入到文件内
10、日期时间指令
cal
:显示当月月历
cal 年
:cal 2022
显示2022年月历
date
:显示现在的时间
date "+%Y年%m月%d日 %H:%M:%S"
:显示当前时间为xxxx年xx月xx日 xx:xx:xx格式
11、快捷方式In指令
In -s /root/ /home/myroot
:在home目录内创建一个软链接(快捷方式)可以直达root目录
12、history指令
查看执行过的历史指令
history
:显示所有
hisroty 10
:显示最近10条
!10
:显示第十条
13、find指令
查询需要查找的文件:按文件名、按用户名、按文件大小(+大于,-小于;单位-k,M,G)
find /home -name hello.txt
:查找/home目录下hello.txt的文件
find /home -user hello
:查找/home目录下用户名为hello的文件
find /home -size +200M
:查找/home目录下文件大小大于200兆的文件
14、locate指令
定位文件路径
updatedb;
locate hello.txt
#查找所有hello.txt文件的路径
每次运行前都要使用updatedb指令;
15、grep指令
可以和前面的cat搭配使用把more缓存grep
cat hello.txt | grep -n -i "good"
:查看hello.txt文件中,有内容为good(忽略大小写)的行号的
-n:显示行号
-i:忽略大小写
16、压缩和解压
1、gzip和gunzip
只能压缩文件,为.gz文件,原文件会消失
gzip hello.txt
:压缩当前目录内的hello.txt文件->当前目录会生成一个hello.txt.gz文件
gunzip hello.txt.gz
:解压
2、zip和unzip
可以压缩文件和目录(文件夹)
zip -r myhome.zip /home/
:压缩文件夹要带-r,将home目录下的所有文件和文件夹都要压缩,产生文件myhome.zip到当前目录
unzip -d /opt/tmp /home/myhome.zip
:解压要带-d,将/home/myhome.zip解压到/opt/tmp目录下
3、tar
可以打包压缩文件和目录(文件夹)
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
:将/home目录下的pig.txt和cat.txt文件打包压缩成pc.tar.gz
tar -zxcf /home/pc.tar.gz -C /opt/tmp
:将/home目录下的pc.tar.gz文件解压到/opt/tmp目录下