liunx详解-1
一 文件系统
根目录结构
root root用户家目录
home 其他用户家目录
etc 系统配置目录
bin sbin 可执行二进制文件目录,sbin只有root可访问
opt 软件安装目录
usr 存放系统应用程序,/usr/local 本地管理员软件目录,用于yum安装软件
proc 内存的映射
mut 挂载存储设备,并能映射到指定路径
sys 系统相关
boot 引导文件目录
lib lib64 内核与核心依赖
dev 硬盘配置
tmp 存放各种临时文件
var 存放运行时需要改变数据的文件
lost found 当系统异常关闭时保存异常日志
media 多媒体
selinux 系统安全
基本文件命令
cd 完整路径/相对路径 切换文件目录
/ 根目录ss
../ 父目录(可连续使用)
./ 当前目录
~ 用户家目录(root用户家目录在/root 其他用户分别在/home/ )
参数-a 显示隐藏文件
无目标路径则切换至家目录
mkdir 文件夹
创建文件夹
mkdir ~/sxt
mkdir /sxt
mkdir -p ~/a/b/c -p 自动创建多级父文件夹
mkdir ~/sxt{1,2,3}a 创建sxt1a,sxt2a,sxt3a文件
rmdir 文件夹
删除空文件夹
cp 文件/文件夹 目标路径
复制文件(夹)到目标路径下
cp -r haha ../ 参数r 表示文件夹表遍复制(将文件夹中的内容一起复制)
cp -f haha ../ 参数f 表示若存在重复文件则覆盖
cp -rf ~/aaa/* ../ 将aaa文件加下所有内容复制到父目录中 rf参数组合使用
cp aaa/bb* ../ 将aaa文件加下所有bb前缀的内容复制到父目录中
mv 文件/文件夹 目标路径
剪切文件(夹) 重命名(连同内容)
mv -f haha ../ 参数f 表示若存在重复文件则覆盖
mv haha hehe 相同目录下的移动也就是重命名
rm 文件(夹)
移除文件或文件夹
rm -f install.log 参数f 强制删除,不确认
rm -rf sxt 参数r 遍历删除文件夹
rm sxt* 支持模糊匹配,删除所有sxt开头的文件 ,一般用前后的*匹配
rm *.zip 输出zip结尾文件
touch 文件
创建文件(若已存在,则不再创建)
更新文件的元信息中的时间
ll 查看当前文件夹下的详细内容
ls -l --color=auto的别名
-a 参数查看隐藏文件显示
ls 查看当前文件夹下的内容
-a 参数查看隐藏文件显示
find 查找文件
find 文件夹 -name 文件名 在某文件夹下查找某文件路径
find 查找路径 -name p*(匹配文件名,适用通配) 在根目录下查找p开头的文件 *p 查找p结尾的文件
pwd 查看当前路径
stat 查看文件状态
Inode: 2097164 文件的物理位置编号(唯一)
Access: 2019-08-02 18:03:53.632972412 +0800 访问记录
Modify: 2019-08-02 18:03:24.688978095 +0800 数据修改记录(元数据随数据一同修改)
Change: 2019-08-02 18:03:24.688978095 +0800 元数据修改记录
touch会同时修改三个时间记录
du 查看某个文件或文件夹的大小
参数-a 能够查看到内部的文件信息
参数-h 格式友好
df 查看硬盘分区状况 参数-h 格式友好
文件查看命令
cat 查看文档的最后一屏 tac 倒序显示第一页内容
head 查看文件的前若干行
head -N 文件 查看文件的前N行
tail 查看文档最后若干行
tail -3 file 查看文件最后3行
tail -f 文件 参数-f 实现监控文件的改变,注意这是一个持续状态
head -5 文件 | tail -2 组合使用查看第4,5行
more 和 less 分屏查看文档内容
回车 下一行
空格 下一页
b 上一页
h 帮助
q 退出
ln文件链接
软链接
ln -s 文件 链接
软链接直接显示与源文件的链接
若源文件删除则软链接失效
显示ll时显示连接属性
硬链接
ln 文件 链接
硬链接与真实数据连接,指向物理地址
源文件删除不影响硬链接
硬链接不显示与源文件的链接
二 系统及命令
系统命令
yum install 软件名 -y 安装软件
poweroff 关机
reboot 重启
shell 主机名(ip) 远程连接其他主机,也是外部工具远程调用的方式
exit 用户退出登录
who 查询系统当前登录用户
whoami 查看当前用户
pwd 查看当前位置
config 查看系统配置
ifconfig 查看网络配置
echo $PATH 查看环境变量
锁屏与解锁
ctrl+s 锁屏,但是可以输入
ctrl+q 解锁
命令辅助指令
命令查询网站https://man.linuxde.net/
type 命令 判断命令类型内部/外部/别称
cd is a shell builtin 内部命令
ping is /bin/ping 外部命令,存在文件位置
ll is aliased to `ls -l --color=auto' 别名
if is a shell keyword 关键字,非命令
help 命令 内部命令帮助
man 命令 外部命令帮助(可能需要yum安装)
yum install man -y
命令等级1-8
查看:回车 下一行 空格 下一页 b 上一页 h 帮助 q 退出
whereis 程序名 查找命令/程序的相关位置
file 路径
查看命令文件的格式
ELF:Unix通用命令或者可执行文件的格式
64-bit :64位
-bash: java: command not found 没有这个命令,命令错误或未安装
命令格式
命令参数之间必须用空格隔开
命令及参数的大小写敏感
书写地址时尽量使用tab补齐
参数中若存在空格用""将参数括起来
" "会将字符串中变量转义 ‘ ’将字符串只识别为字符串
三 vi编辑器
打开命令
vi file 直接打开文件
vi +10 file 打开文档将光标定位到第10行
vi + file 打开文档将光标定位到最后一行
vi +/字符串 file 打开文档,将光标定位到搜索到的第一个匹配字符串上
三种模式及转换
编辑模式 通过esc键进入
输入模式 从编辑模式进入
i 当前字符之前
a 当前字符之后
o 当前字符下一行
I 行首
A 行尾
O 上一行
末行模式 从编辑模式通过 : 进入
编辑模式详解
光标跳转
G 光标跳行
G 光标跳至最后一行
30G 光标跳至指定行(行)
g 光标跳行
gg 光标跳至第一行
7gg光标跳转至第7行
w 光标跳转到下一个单词或特殊字符 (3w 向下跳3个字符)
b 光标跳转到上一个单词或特殊字符 (3b 向上跳3个字符)
^ 光标移动到行首
$ 光标移动到行尾
+- 光标下移上移
hjkl 光标上下左右移动
编辑操作
r 替换字符
r 字符 将当前光标所在字符替换成输入的字符
N r 字符 将从当前光标所在字符开始的N个字符替换为所输入的字符
dd 删除行
dd删除光标所在行
X dd 删除从光标所在行开始的X干行
dw 从光标位置开始,删除一个单词或特殊字符
注意是从光标位置开始的,光标在单词中间,前半部分不会删除
X dw 删除从光标位置开始的X个单词
u 恢复前一编辑操作
. 取消u的操作
x 剪切字符
x 剪切光标当前字符
N x剪切光标开始的N个字符
yy 复制行
yy 复制一行 到粘贴板
Xyy 复制X行 到粘贴板
yw 复制单词
yw 复制一个单词 到粘贴板
Xyy 复制X个单词或特殊字符,从当前字符开始 到粘贴板
p 粘贴 (不覆盖)可配合末行模式使用
字符:将粘贴板的字符插入到光标字符之后
单词:将粘贴板的单词插入到光标字符之后
行:将粘贴板的若干行插入到光标下一行或若干行
Xp 执行粘贴X次
P 粘贴 (不覆盖)可配合末行模式使用
字符:将粘贴板的字符插入到光标字符之前,不覆盖原先内容
单词:将粘贴板的单词插入到光标字符之前,不覆盖原先内容
行:将粘贴板的若干行插入到光标下一行或若干行
ZZ 退出编辑器
末行模式详解
删除(剪切)
X d 删除第X行:
X,Y d 删除第X行到Y行数据
X.+Y d 删除第X行开始的Y行数据
复制
X y 复制第X行:
X,Y y 复制第X行到Y行数据
X.+Y y 复制第X行开始的Y行数据
查询
:/XXX 查找文本中XXX
N下一个,n上一个
替换
:s/XXX/YYY/ 将光标之后第一个查找到的XXX替换为YYY
:s/XXX/YYY/g 将光标所在行的所有XXX替换为YYY
:X,Ys/XXX/YYY/g 将X-Y行中所有XXX替换为YYY
:X,+Ys/XXX/YYY/g 将X及其下的Y行中所有XXX替换为YYY
:g/XXX/s//YYY/g 将全文中的XXX替换为YYY
set nu 设置行号 set nonu取消行号
退出
q 退出
w 写入
q!取消保存并退出
qw 保存退出
若未正常退出,需要删除 .文件名称.swp
末行模式输入命令,可以用来复制
vim的安装
yum install vim -y
四 文件传输
linux互传
scp 文件 目标路径
远端拉到本地 scp root@192.168.163.100:/root/123.war /root(将远端123.war文件下载到本地)
本地文件发送到远端 scp /root/123.war root@192.168.163.100:/root/
参数-r 传输文件夹
scp复制文件会使得目标路径下的同名文件被覆盖
需要发送输入密码,可以通过免密码进行处理
linux传win
1 通过lrzsz 实现
yum install lrzsz -y
rz 接收win的文件
sz 向win发送文件
2 通过win安装ftp软件,远程连接实现
五 网络系统
ifconfig 查看网络配置 其中eth0为网卡1的配置 lo为环网配置。
ping 测试主机是否与目标主机连通
虚拟机连接模式
桥接:与主机处于相同ip端,能被外网访问,ip与其他主机易冲突
网络地址转换NTP:主机作为路由,所有虚拟机作为子IP,外网无法访问虚拟机
hosts文件内置DNS解析
liunx中 /etc/hosts
win中的地址为C:\Windows\System32\drivers\etc\hosts
netstat 当前网络信息
-anp 查看详细信息
-r 查看核心路由表
-l 仅列出监听状态下的服务
telnet 查看目标端口是否连通 用户查看软件端口是否打开
需要安装yum install telnet -y
telnet ip 端口号
结果1:Connected to 192.168.163.11. 连接成功
结果2:Connection refused 对方端口防火墙屏蔽或者没有监听
连接成功后退出:
退出按下 ^]
输入quit或q 退出
http请求:curl -X GET http://www.baidu.com/ 得到html文本需要输出到文件中
wget 下载网络资源,html等
六 权限系统及用户
用户
文件位置
/etc/passwd 保存用户信息及组信息
/etc/shadow 保存用户的密码信息
创建用户
useradd 用户名 创建用户,自动创建同名组
passwd 用户名 创建用户密码 需要两次输入确认密码
删除用户
userdel -r 用户名
修改用户,用户需离线才能执行
usermod -l 新用户名 旧用户名 修改用户名
usermod -L 用户名 锁定用户,无法登陆
usermod -U 用户名 解锁用户
用户切换
su 用户名
exit 退出切换
组
创建组命令:groupadd 组名
删除组命令:groupdel 组名
修改组名: groupmod -n 新组名 旧组名
查询用户所在组:groups 用户名 (若无参数则查询当前用户所在组)
为用户修改组或添加组,需要用户重新登录生效
usermod -g 组 用户 修改用户所属主组,只会将主组修改
usermod -G 组 用户 用户添加组
组信息文件位置:/etc/group 其中,自定义组的编号从500开始往后排
sudo
sudo使得其他用户具备root身份执行命令
执行格式:sudo 命令
以root身份执行命令,系统视为root用户执行
每15min验证一次身份
执行前需对/etc/sudoers只读文件修改,使得指定用户具备sudo权限
修改命令为visudo
进入文件后约99行位置添加以下内容,使得目标用户具备执行/usr/sbin目录下的所有命令
目标用户名 ALL=(root) /usr/sbin/*
文件权限
ll命令获取的文件信息
drwxr-xr-x. 7 root root 4096 Nov 11 20:19 sysconfig
-r---w-r--. 1 yw yw 1150 Nov 23 20:13 123.py
lrwxrwxrwx. 1 root root 14 Aug 1 19:33 system-release -> 123.py
信息包括:前缀,文件个数 ,所属用户 ,所属组,占用空间,修改时间,文件名,链接信息
前缀说明
第一位为文件类型
d 文件夹 - 文件 l 软链接
UGO模型
2-4位:u 用户权限
5-7位:g 组权限
7-9位:o 其他用户权限
rwx权限
UGO每种权限对应一组rwx权限
r 读 w 写 x 执行(文件必须拥有此权限才能执行)
修改文件权限
文件所属信息修改
chown 用户:组 file 修改文件的所属用户及组
chown 用户 file 修改文件的所属用户
chgrp 组 file 修改文件所属组
以上命令适用root用户
参数-R 遍历修改文件夹及其子文件的权限
chmod 权限修改
chmod [ugo]+/-[rwx] file 分别为ugo加减权限,适用集中修改
例1:chmod ugo+rwx file 添加全部读写执行权限
例2:chmod o-wx file 去除其他用户的写与执行权限
chmod 700 file 通过数组执行权限修改
三位数字分别对应ugo三种权限对象
将xwx视为二进制的111,范围0-7
r权重4 w权重2 x权重1
0 ---,1 --x,2 -w-,3 -wx,4 r--,5 r-x,6 rw-,7 rwx
七 进程proc
ps -ef 查看当前进程
UID所属用户
PID进程号
PPID父进程,若父进程关闭则改为父父进程
CMD为进程信息
ps -ef | grep xxx 查找xxx的进程号
kill -9 进程号 杀死指定进程
ps -aux 只查看当前用户的详细进程信息
top 查看实时的系统运行情况
jobs -l 查看当前终端中的后台进程
后台进程
格式:命令 & (实现命令后台执行,在新的子线程中执行,不会阻塞原线程)
后台进程执行一段时间后会被挂起
nohup 后台命令 (该命令不会被挂起)
nohup ping www. 163.com > 123 2>&1 &
重定向的命令需设成功失败两种输出方式,否则无法执行
八 管道与重定向
重定向
将数据输出方向转到指定方向,默认输出控制台
> 覆盖输出 >> 追加输出
输出种类 1>> 标准输出(默认) 2>> 错误输出 后缀2>&1全部输出
ls ~/aaa 1> info 将标准的命令结果覆盖输出到info 文件中
ls ~/aaa 2>> info 将错误的命令结果追加输出到info 文件中
ls ~/aaa >>info 2>&1 无论是否错误都将结果输出到info 文件中
默认是使用当前进程,会造成进程阻塞,&后台进程执行
ping www.163.com >> 123 使用当前进程
ping www.163.com >> 123 & 使用后台子进程执行
输入重定向 cat < info 输入重定向,符号反向。
命令 > /dev/null 数据输出到 /dev/null 信息黑洞自动丢失
管道
将前面命令的结果传递给后面的命令
ps -ef | tail -3 查看检查前3行
ps -ef | grep sshd 查看ssh相关的进程的行
liunx详解-1的更多相关文章
- liunx详解-2
linux安装与配置 安装配置 虚拟机配置1G内存,1核CPU,50G硬盘,网络地址转换(NAT,主机作为路由构建内网) 镜像文件:http://mirror.nsc.liu.se/centos-st ...
- Liunx中fstab文件详解
Liunx中fstab文件详解 /etc/fstab是用来存放文件系统的静态信息的文件.位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc ...
- PHP APC缓存配置、使用详解
一.APC缓存简介 APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”.它为我们提供了缓存和优化PHP的中间代码的框架. APC的缓存分两部分:系统缓存和用户数据缓 ...
- 性能测试监控工具nmon详解和分析
性能测试监控工具nmon详解和分析 1.命令安装 1.查看liunx版本版本x86_64_14i 目录:cd /nmon/logs/ 版本x86_64_14i [root@localhost u06] ...
- 详解PHP的执行原理和流程
简介 先看看下面这个过程: • 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: • PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程 ...
- nmon分析与详解
1.命令安装 1.查看liunx版本版本x86_64_14i 目录:cd /nmon/logs/ 版本x86_64_14i [root@localhost u06]# cd / [root@local ...
- linux命名详解及其软件安装实例
始于cd,ls命令 好啦,步入正题,我使用的linux连接工具为xshell,mRemoteNG,对两款工具不做介绍啦,你可以百度一下,实在不会入左上方群. 进入之后,便是上面的界面黑乎乎一片,对于初 ...
- Linux中的sudoer详解
目录 Linux中的sudo详解 一.引言 二.格式 三./etc/sudoers文件 四.sudoers文件讲解 五.其他 Linux中的sudo详解 一.引言 Liunx用户只有两类: 管理员用户 ...
- linux中常用的60个命令及作用详解
Linux 必学的 60 个命令 Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在 Linux 系统上工作离不开使用系统 ...
随机推荐
- java学习笔记之IO编程—打印流和BufferedReader
1.打印流(PrintWriter) 想要通过程序实现内容输出,其核心一定是要依靠OutputStream类,但是OutputStream类有一个最大缺点,就是这个类中的输出操作功能有限,所有的数据一 ...
- python爬虫----爬取阿里数据银行websocket接口
业务需求:爬取阿里品牌数据银行的自定义模块==>>>人群透视==>>>查看报告==>>数据 发现:数据通过websocket接口传递,此类型接口的详细理 ...
- 摇一摇—微信7.0.8版本audio无法自动播放问题
近日有一个项目出现audio无法自动播放,查看原因才发现是微信版本更新为7.0.8版本,需要有交互行为,第一次播放需要用户手动点击一下,无法使用DOM中的play()进行直接播放操作,那怎么办呢? 通 ...
- Bootstrap Table踩坑——设置多级表头后只显示第一级表头问题解决办法
今天设置了Bootstrap Table的复杂表头,设置了多级表头(两行列名),但是只能显示第一级表头(第一行的列名),第二级的表头被第一级的表头覆盖.但是我仿照其他网上的其他设置复杂表头例子都能正常 ...
- vs2019清空输入缓冲区
发现用cin.sync()在vs2019中不能清空输入缓冲区,以前的vs版本没试过,我看别人在vc中用cin.sync()可以清除,估计是IDE的问题..以下是我学习C++四个多月写的一整段代码 运行 ...
- oracle dataguard配置
1.archivelog设置:(存档模式) 2.standy controlfile 设置: alter database create standby controlfile as '/data/o ...
- LitElement(六)生命周期
1.概述 基于LitElement的组件通过响应观察到的属性更改而异步更新. 属性更改是分批进行的,如果在请求更新后,更新开始之前,发生更多属性更改,则所有更改都将捕获在同一次更新中. 在较高级别上, ...
- js面向对象的程序设计 --- 下篇 继承启蒙
继承是oo语言中一个最为人津津乐道的概念.ECMAScript支持实现继承,而且实现继承只要是靠原型链来实现的 ·原型链 其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法. 简单回顾一 ...
- Intellij IDEA 控制台中文乱码问题
如果Intellij IDEA 控制台出现中文乱码: 1.修改Intellij IDEA 配置文件: 在安装目录的bin文件夹里找到 idea.exe.vmoptions 和 idea64.exe.v ...
- IntelliJ IDEA 2017.3尚硅谷-----省电模式