1. Linux中目录结构
# 目录结构
bin (binaries)存放二进制可执行文件 [重点]
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
etc (etcetera)存放系统配置文件 [重点]
usr (unix shared resources)用于存放共享的系统资源 [重点]
home 存放用户文件的根目录 [重点]
root 超级用户目录 [重点]
dev (devices)用于存放设备文件
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点
boot 存放用于系统引导时使用的各种文件
tmp (temporary)用于存放各种临时文件 [重点]
var (variable)用于存放运行时需要改变数据的文件
2. Linux中常用指令
# Linux中命令格式:
命令 [-选项] [参数] 如: ls -l /usr
ls
ls -a 显示所有文件 包含隐藏文件
注意: 在linux系统中.口头文件都是隐藏文件
ls -l 长格式显示当前目录中文件和目录 ===> ll
ls -l 目录
cd 名录名 切换目录
pwd print work directory 打印工作目录 显示当前所在位置
clear 命令清除屏幕
注意:在linux中命令严格区分大小写
2.1 ls 命令 list 列表
# ls 显示文件和目录列表 (list)
ls 选项 参数(指定目录)
常用选项:
-l (long) 长格式显示文件和目录信息
-a (all) 显示所有文件和目录(包含隐藏文件和目录) .开头隐藏文件
-R 递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单。
# linux系统中查看命令帮助
man 命令 查看对应命令辅助文档
# 0. ls (查看目录下文件和目录)
[root@localhost ~]# ls
aa aa.txt
# 1. ls -l (长格式展示文件) ===> ll
[root@localhost ~]# ls -l
总用量 60
drwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc
- rw- r-- r-- 1 user1 user1 17 Aug 17 09:04 host.conf
- rw- r-- r-- 1 user1 user1 38450 Aug 17 09:04 php.ini
`长格式含义:`
文件类型 文件权限 链接数 属主 属组 大小 日期 时间 文件名
d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc
# 2. ls -a (显示所有文件)
[root@localhost ~]# ls -a
. aa .bash_history .bash_profile .cshrc .tcshrc
.. aa.txt .bash_logout .bashrc .pki .viminfo
# 3. ls -R (递归显示文件)
[root@localhost ~]# ls -R
.:
aa aa.txt
./aa:
2.2 操作文件命令 重点
# 0.cd 用来切换目录
- cd 回到当前登陆用户家目录 root用户的home目录为 /root
等价于 cd ~ 等价于 cd /root
- cd 目录名 代表切换到指定目录
# 1.pwd 显示当前工作目录(print working directory)
# 2.touch 创建空文件
- touch 文件名 创建一个空文件==> touch aa.txt spring.xml
# 3.mkdir 创建目录(make directory)
-p 父目录不存在情况下先生成父目录 (parents)
- mkdir 目录名 创建一个空目录 注意:只能创建一级目录
- mkdir -p 目录名 递归创建目录 注意:这种方式可以创建多级不存在目录
# 4.cp 复制文件或目录(copy)
-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)
- cp 文件名 目标目录名 作用:将指定文件放入指定目录中
- cp -r 源目录名 目标目录名 作用:将指定目录复制到目标目录中
# 5.mv 移动文件或目录、文件或目录改名(move)
mv 目标文件名 新文件名 文件改名
mv 目标文件名 目标目录名 文件移动
mv 目标目录名 不存在目录名 目录改名
mv 目标目录名 已存在目录名 目录移动
# 6.rm 删除文件(remove)
-r 同时删除该目录下的所有文件(recursive)
-f 强制删除文件或目录(force)
- rm 文件名 带有友情提醒删除文件
- rm -f 文件名 强制删除没有提醒 谨慎操作
- rm -r 目录名 带有友情提醒递归删除目录以及目录中文件和目录
- rm -rf 目录名 强制递归删除该目录中所有内容 谨慎操作
- rm -rf 通配符 * 代表0---任意多个字符
# 7.rmdir 删除空目录(remove directory)
- rmdir 删除一个空目录
# 8.cat 显示文本文件内容 (catenate)
- cat 文件名 用来查看该文件内容 一般用于文件内容不超过一个屏幕的文件查看
# 9.more、less 分页显示文本文件内容
- more 文件名 采用百分比查看 只能始终向下查看按一次回车向下查看一行
- less 文件名 翻页形式查看文件 利用pageup pagedown进行翻页
# 10.head、tail查看文本中开头或结尾部分的内容
- head -n 5 a.log 查看a.log文件的前5行
- tail 文件名 查看文件末尾 默认10行
# 11.tail -f b.log 循环读取(follow)
- tail -f 文件名 实时查看改文件变化
# 12.echo 输出命令
echo I love baby 说明:用来向屏幕输出一句话
echo $PATH 说明:用来输出系统环境变量的值
echo I Love baby > aa.txt 说明:将这段内容输入到 文件中
2.3 网络相关命令
# 1.ip addr 查看IP地址
- ip addr centos7 独有ip查看 ens33(默认存在一块网卡)==> ip a
- ifconfig 用来查看linux系统ip地址 eth0(默认网卡)
# 2.ping 测试网络连通性
ping 192.168.0.1
# 3.让现有centos系统动态ip地址
1.vi /etc/sysconfig/network-scripts/ifcfg-ens33
2.进入之后按一下键盘上 i 切换编辑模式 修改为yes
3.按一下键盘esc 按键
4.输入 :wq 保存退出
5.重启系统
2.4 tar命令
# tar命令
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
`通常组合使用:`
tar -cvf aaa.tar file1.txt file2.txt 将file1和2打包成aaa.tar
tar -zcvf aaa.tar.gz file1.txt file2.txt 将file1和2打包成aaa.tar并压缩
tar -zxvf aaa.tar.gz file1.txt file2.txt 将aaa.tar.gz解压
2.5 systemctl 服务命令
# systemctl
systemctl status 服务名 说明:查看某个服务的运行状态
systemctl start 服务名 说明:启动某个服务
systemctl restart 服务名 说明:重启某个服务
systemctl stop 服务名 说明:停止某个服务
systemctl kill 服务名 说明:杀死某个服务
# 常见linux系统中的服务
firewalld 防火墙服务
network 网络服务
mysqld 数据库服务
docker docker服务
2.6 进程相关命令
# 1.ps 询在当前控制台上运行的进程
ps -aux 说明:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。
ps -ef 说明:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。
搜索进程 ps aux|grep 关键字
# 2.top 命令 动态显示系统进程
# 3.kill 杀死进程
kill 3029 说明:上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。
kill -9 3029 说明:强制终止3029号进程的运行,其中参数-9代表强制的意思,实际上kill命令是向该进程发送信号,
该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。
2.7 vi命令
# vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
# 常用命令:
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
----------------重点---------------------------
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
------------------重点-------------------------
u undo,取消上一步操作
Ctrl + r redo,返回到undo之前
-------------------重点------------------------
Shift+ zz 保存退出,与“:wq”作用相同
:q 退出不保存
:q! 强制退出不保存
:wq 保存退出
:wq! 强制保存退出
2.8 软件相关命令
RPM命令
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便,
# rpm 命令
常用参数:
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
YUM命令
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
例子:
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++
使用YUM命令必须连接外部网络
2.9 用户和组相关命令
# 1.查看当前用户:whoami
# 2.查看登录用户:who
-m或am I 只显示运行who命令的用户名、登录终端和登录时间
-q或--count 只显示用户的登录账号和登录用户的数量
# 3.退出用户: exit
# 4.添加、删除组账号:groupadd、groupdel
# 5.添加用户账号:useradd
-g 指定组名称 说明:如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
# 6.设置用户密码:passwd [用户名]
# 7.su 切换用户
su root
2.10 权限相关命令
Linux文件有
三种
典型的权限,即r读权限、w写权限和x执行权限
。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
# chmod
字母法:chmod u/g/o/a +/-/= rwx 文件
第一个三位:当前文件创建者权限 user u
第二个三位:当前文件创建者所在组其他用户权限 group g
第三个三位:除当前文件创建者所在组的其他组操作权限 other o
a = u + g + o
[ u/g/o/a ] 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其他以外的人
a all 表示这三者皆是
[ +-= ] 含义
+ 增加权限
- 撤销权限
= 设定权限
rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
3. CRT终端操作
# 0.准备工作
安装CRT客户端工具,安装winscp工具
# 1.设置linux获取ip地址 (编辑网络配置文件)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 2.修改ens33配置文件:
BOOTPROTO=dhcp
ONBOOT=yes
# 3.重启启动网路服务加载修改配置生效
systemctl restart network
# 4.查看ip地址
ip addr
# 5.此时ip已经获取
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:07:16:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.202.136/24 brd 192.168.202.255 scope global noprefixroute dynamic ens33
valid_lft 1459sec preferred_lft 1459sec
inet6 fe80::b22b:7e01:db87:52fe/64 scope link noprefixroute
# 6.测试外部网络连通(保证宿主机windows可以上网前提)
ping www.baidu.com
# 7.使用CRT工具连接即可