一、Linux入门
1.1、Linux目录结构及含义
- /bin 【重点】(/usr/bin、/usr/local/bin)
- 是Binary的缩写,这个目录存放着最经常使用的命令
- /sbin (/usr/sbin、/usr/local/sbin)
- s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /home 【重点】
- 存放普通用户的主目录, 在Linux中每个用户都有一个自己的目录,一般
该目录名是以用户的账号命名的。
- /root 【重点】
该目录为系统管理员,也称作超级权限者的用户主目录。
- /boot 【重点】
- 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
- /proc【勿动】
- 这个目录是-一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
- /srv【勿动】
- service缩写,该目录存放一些服务启动之后需要提取的数据。
- /sys【勿动】
- 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统
- /tmp
- /dev
- 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
- /media【重点】
- linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux
会把识别的设备挂载到这个目录下。
- /mnt【重点】
- 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂
载在/mnt/上,然后进入该目录就可以查看里的内容了。
- /opt
- 这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。
默认为空。
- /usr/local【重点】
- 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
- /var【重点】
- 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。
包括各种日志文件。
- /selinux [security-enhanced linux]
- SELinux是一种安全子系统,它能控制程序只能访问特定文件。
二、常用命令
2.1、vim常用快捷键
- 拷贝当前行
yy
,拷贝当前行向下的5行5yy
,粘贴(p
) 。
- 删除当前行
dd
, 删除当前行向下的5行5dd
- 在文件中查找某个单词[命令行下
/关键字
,回车查找,输入n
就是查找下一个]
- 设置文件的行号,取消文件的行号[命令行下
:set nu
和:set nonu
]
- 快捷键到底文档的最末行[
G
]和最首行[gg
]注意这些都是在正常模式下执行的。
- 撤销,正常模式下输入
u
- 将光标移动到第20行先输入
20
再按shift+g
2.2、关机重启命令
shutdown -h now # 立即关机
shutdown -r now # 立即重启
halt # 关机
reboot # 重启
sync # 将内存的数据同步到磁盘
2.3、用户登陆注销
logout # 注销
su - <username> # 切换到指定用户并将当前目录转移到账户home目录
su <username> # 切换到指定用户并将当前目录不变
2.4、用户、用户组管理
- /etc/passwd文件
- /etc/shadow文件
- /etc/group文件
useradd [-d <dir>] [-g <groupname>] <username> # 添加用户, -d表示指定home目录
# -g表示指定组名称
usermod [-g <groupname> <username>] # 将用户修改到指定组
passwd <username> # 指定用户密码
userdel [-d] <username> # 删除指定目录,-d表示同时删除home目录
id <username> # 查询用户信息
groupadd <groupname> # 添加组
groupdel <groupname> # 删除组
2.5、系统运行级别
代号 |
说明 |
0 |
关机 |
1 |
单用户(找回密码) |
2 |
多用户,无网络 |
3 |
多用户,有网络 |
4 |
保留 |
5 |
图形界面 |
6 |
重启 |
新版本无法通过修改/etc/inittab
的id:initdefault
调整运行级别
可通过如下命令修改
systemctl set-default graphical.target # 设置为5级别
systemctl set-default multi-user.target # 设置为3级别
2.6、帮助命令
man <命令> # manual,手册
help <命令> # 获取shell内置命令的帮助信息
2.7、目录、文件命令
pwd # 当前工作目录的绝对路径
ls [-a] [-l] # 查看当前目录下的文件;a:查看所有,包括隐藏文件(夹);l:查看详细信息
cd [dir] # 切换到指定目录,~和不填为当前账户home目录
mkdir [-p] <dir> # 创建目录,p:表示多级目录
rmdir <dir> # 删除空目录
touch <filename> # 创建空文件
cp [-r] <源文件> <目标目录> # 复制文件(夹),r:递归复制。命令前加“\”表示强制、不提示
mv <源文件> <目标目录> # 移动/重命名文件/夹
rm [-r] [-f] <file/dir> # 删除文件或目录,r:递归删除;f:强制、不提示
2.8、查看文件内容
cat [-n] <file> # 以只读方式查看文件内容,n:显示行号
more <file> # 全屏按页查看文件内容,基于vi编辑器的文本过滤器
操作 |
说明 |
space |
下一页 |
enter |
下一行 |
q |
退出 |
ctrl+f |
向下滚动一屏 |
ctrl+b |
向上滚动一屏 |
= |
输出当前行号 |
:f |
输出文件名和当前行号 |
less <file> # 分屏查看内容,根据显示加载内容,对大文件高效
操作 |
说明 |
space |
下一页 |
page down |
下一页 |
page up |
上一页 |
/字符 |
向下查找,n:下一个;N:上一个 |
?字符 |
向上查找,n:上一个;N:下一个 |
q |
退出 |
<指令> > <filename> # 覆盖文件
<指令> >> <filename> # 追加文件
echo [-e] [text] # 在屏幕上打印文本,e:转义生效
head [-n <num>] <file> # 查看文件头十行的内容,n:自定义行数
tail [-n <num>] [-f] <file> # 查看文件后十行内容,n:自定义行数,f:实时跟踪文件修改情况
ln [-s] <源> <链接名> # 创建链接,s:软连接,可以是目录或文件。默认硬链接,只能是文件
# pwd时为软连接所在目录
history # 查看历史命令,默认1000条,通过“!1”执行历史命令
2.9、日期时间
date [-s <datetime>] # 显示日期时间,其余命令查手册,s:自己设置日期时间如:“2020-08-05 22:25:23”
cal [<year>] # 查看日历,参数为具体显示哪年,默认本月
2.10、搜索
find [参数] [起始目录] # 查找,name:查找指定文件
# user:查找指定用户拥有
# size:指定大小
grep [-n] [-i] <查找内容> [查找文件] # 过滤查找,n显示匹配行号;i:不区分大小写
2.11、压缩、解压缩
gzip <filename> # 压缩为*.gz的文件,压缩后源文件不保留
gunzip <filename> # *.gz的文件解压缩,解压后源文件不保留
zip [-r] <filename.zip> <源文件> # 压缩为.zip的文件,r:递归压缩
unzip [-d <目录>] <filename.zip> # 解压缩,d:解压到目录
tar # 打包命令,具体看文档
Linux入门--基础命令