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 系统上工作离不开使用系统 ...
随机推荐
- CVE-2019-0708 远程桌面代码执行漏洞复现
0x01 首先是靶机,这里的靶机是使用清水表哥提供的win7sp1的系统 漏洞环境使用VM安装Windows7 SP1模拟受害机Windows7 SP1下载链接:ed2k://|file|cn_win ...
- P1164 小A点菜【dp】
P1164 小A点菜 提交 43.03k 通过 24.37k 时间限制 1.00s 内存限制 125.00MB 题目提供者洛谷 难度普及- 历史分数100 提交记录 查看题解 标签 洛谷原创 查看 ...
- wa自动机 的 莫队 刷题记录
洛谷P2709小B的询问 莫队裸题,模板题 莫队就是把询问区间排个序,先按左端点的Pos排序(POS是分块那个数组),pos一样的按右端点排序 代码: #include <bits/stdc++ ...
- 利用MongoDB进行地理坐标查询
BS的应用在生活中已经非常常见,我们打车,叫外卖,查个地图之类的都会查询附近的相关坐标位置,mongodb提供了原生的二维地图查询,极大地方便了大家的开发. 假定我们有一个定义了位置信息的集合loca ...
- [SDOI2017] 新生舞会 - 二分图最大权匹配,分数规划,二分答案
有一个二分图,每个部都有 \(n\) 个点,每条边有两个参数 \(a_e, b_e\),求一种匹配,使得 \(\sum a_i / \sum b_i\) 最大 Solution 显然的分数规划,考虑二 ...
- 2020牛客寒假算法基础集训营5 G.街机争霸 (bfs)
https://ac.nowcoder.com/acm/problem/201961 预处理出僵尸走的路径,僵尸走的周期长度应该为2k-2,在普通的bfs基础上加上一维表示时间,从当前位置x,y和和时 ...
- python:文件读写
#!/usr/bin/python# -*- coding:utf-8 -*- #!/usr/bin/python# -*- coding:utf-8 -*- file1 = open('a.txt' ...
- 读书笔记 (.NET企业级应用架构设计)
建议你自己和别人多沟通(学会沟通会使你在公司更好的发展,有意见就提,有问题就问,有困难就说)加油lxp 1.架构师是用来干嘛的: 架构师分析需求,分析系统要去做什么,架构怎么去做 2.架构师的职责是: ...
- EF中的上下文(DbContext)简介
DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用: 1.DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity > ...
- (转)GC ROOTS
还是英文的技术博客更给力,更清楚,本人懒,没有翻译. In your specific example, in any managed environment, Person is not a GC ...