Linux系统命令基础
Linux系统命令基础
前面咱们已经成功安装了Linux系统--centos7,那么现在奔向Linux命令行的世界。
Linux命令格式
1.一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的
2.参数 > 同一个命令,跟上不同的参数执行不同的功能
执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要!
linux命令,参数之间,普遍应该用一个或多个空格分割!
Linux命令行
命令提示符
[py@pylinux ~]$ 普通用户py,登陆后
[root@pylinux ~]# 超级用户root,登录后
root代表当前登录的用户
@ 分隔符
pylinux 主机名
~ 当前的登录的位置,此时是家目录
# 超级用户身份提示符
$ 普通用户身份提示符
操作系统目录分隔符
windows平台命令行目录分隔符
Linux平台命令行目录分隔符
Linux与Windows的目录结构比较
Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来。
登录系统后,在当前命令窗口输入命令:
ls /
查看结果如下图:
在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树。
目录树的特点是什么呢?
- 目录树的起始点是根目录(/,root);
- 每一个目录不止能使用本地的文件系统,也可以使用网络上的文件系统,可以利用NFS服务器挂载特定目录。
- 每一个文件在此目录树中的文件名,包含完整路径都是独一无二的。
图解linux与Windows目录
Linux与windows区别
- windows特点:E:\学习视频\高清视频\
- Linux目录特点:/etc/hosts /root/data/oldboy.txt
Linux 系统目录结构基本特点:
1.Linux下一切从根
开始
2.Linux下面的目录是一个有层次的目录结构
3.在linux中每个目录可以挂载到不同的设备(磁盘)上
4.Linux 下设备不挂载不能使用,不挂载的设备相当于没门没窗户的监狱(进不去出不来),挂载相当于给设备创造了一个入口(挂载点,一般为目录)
Linux目录挂载
挂载通常是将一个存储设备
挂接到一个已经存在的目录
上,访问这个目录
就是访问该存储设备的内容。
对于Linux系统来说,一切接文件,所有文件都放在以根目录
为起点的树形目录结构中,任何硬件设备也都是文件形式
如图所示,是U盘存储设备和Linux系统自己的文件系统结构,此时Linux想要使用U盘的硬件设备,必须将Linux本身的目录
和硬件设备的文件目录合二为一,此过程就称之为挂载
。
挂载操作会隐藏原本Linux目录中的文件,因此选择Linux本身的目录,最好是新建空目录用于挂载
挂载之后,这个目录被称为挂载点
此时U盘文件系统已经是Linux文件系统的一部分,访问/sdb-u文件夹,即是访问访问U盘系统中的文件夹。
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv: 该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
为什么要学Linux命令
- Linux从诞生就是黑屏界面,所有操作倚靠命令完成,如磁盘读写、文件操作、网络管理等
- 企业中,服务器的维护工作都是
ssh客户端
完成,没有图形界面 - 程序员想要管理linux服务器,必须学习常用命令
Linux命令学习方法
- 熟能生巧,多敲打,多练习即可
- 不可能一下子掌握所有命令用法,学会使用搜索引擎查阅命令资料
当年浩哥在一家美资企业,一位台湾老程序员送我的一本书。。。
可能是看我骨骼惊奇吧!!
Linux文件及目录管理命令
命令 | 对应英文 | 作用 |
---|---|---|
ls | list | 查看文件夹内容 |
pwd | print work directory | 查看当前所在目录 |
cd 目录名 | Change directory | 切换文件夹 |
touch 文件名 | touch | 如果文件不存在,则创建 |
mkdir 目录名 | Make directory | 创建目录 |
rm 文件名 | Remove | 删除指定文件 |
我们知道切换目录的指令是cd,那么首先得知道如何切换目录,这个得用心记呀!
. 当前目录
.. 上一层目录
- 前一个工作目录
~ 当前【用户】所在的家目录
/ 顶级根目录
cd命令,变换目录
cd是change directory的缩写,这是用来变换工作目录的命令,注意命令和目录之间有一个空格。
需要注意的是,在所有目录底下都存在两个目录,分别是【.】和【..】,分别代表当前目录,上层目录!那么如何证明它的存在呢?
命令: ls -la /
查看命令解释:man ls (Linux下的帮助指令)
结论:ls - list directory contens (列出目录内容)
ls -la / 以竖状格式化显示列出/目录所有内容
tree命令
以树形结构显示目录下内容
tree命令可能要单独安装:
yum install tree -y
tree命令语法:
tree常用参数
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在条目后加上文件类型的指示符号(* , /, = , @ , | ,其中的一个) 目录/
ls命令
显示目录下内容及属性信息的命令
-a 显示指定目录下所有子目录与文件,包括以.开头的隐藏文件
-l 以列表方式显示文件的详细信息 ls -l 等于ll 用法
-h, --human-readable 与-l 一起,以易于阅读的格式输出文件大小
(例如 1K 234M 2G)
-t 根据最后修改时间排序,默认是以文件名排序,通常与-l 连用
-F 在条目后加上文件类型的指示符号(* , /, = , @ , | ,其中的一个)
注:可以标识文件类型
加上 * 代表可执行的普通文件
加上 = 表示套接字
加上 | 表示FIFOS(队列系统)
加上 @表示符号链接
加上 / 表示文件夹
-d 显示目录本身的信息 而不是显示目录的内容
-r, --reverse 逆序排列
-S 根据文件大小排序,从大到小排序
-i 显示索引节点信息(索引节点相当于身份证号)
--full-time 以完整的时间格式输出(也就是按照中国的时间日期显示)
案例
ls -lt 按照时间进行排序
ls -lrt 找出最新的文件
ls -d */ 列出当前所有目录
ll -hS ./* 显示出当前目录下所有内容详细,且以kb,mb,gb单位从大到小排序
mkdir命令
创建文件夹
用法:mkdir [选项]... 目录...
若指定目录不存在则创建目录。
-m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
mkdir {1..3}加花括号创建连续的目录,用..隔开 花括号内可以是连续的数字、连续的字母mkdir {a..e}
案例
mkdir {alex,pyyu,mjj} 创建三个文件夹,逗号隔开
mkdir alex{1..5} 创建连续的目录
mkdir cunzhang longting 创建少量连续目录
touch命令
创建文件或修改文件时间戳
用法:touch [选项]... 文件...
将每个文件的访问时间和修改时间改为当前时间。
不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。
touch {连续数字或字母} 创建多个文件序列
touch {1..10}
touch {a..z}
-c, --no-create 不创建任何文件
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
-r, --reference=文件 使用指定文件的时间属性替代当前文件时间
案例
修改文件时间
touch -t 06010808 alex1 #修改alex1文件的时间是 6月1号8点8分
touch -r alex1 alex2 #把alex2的时间改成alex1一样
cp复制
复制命令
windows复制
可以说是相当简单了
ctrl + c 复制
ctrl + v 黏贴
linux复制
用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
-r 递归式复制目录,即复制目录下的所有层级的子目录及文件 -p 复制的时候 保持属性不变
-d 复制的时候保持软连接(快捷方式)
-a 等于-pdr
-p 等于--preserve=模式,所有权,时间戳,复制文件时保持源文件的权限、时间属性
-i, --interactive 覆盖前询问提示
案例
复制 > copy > cp
#移动xxx.py到/tmp目录下
cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py
Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变 可以用stat
cp -a 相当于-pdr
#递归复制test文件夹,为test2
cp -r test test2
cp是个好命令,操作文件前,先备份
cp main.py main.py.bak
移动多个文件,放入文件夹c中
cp -r 文件1 文件2 文件夹a 文件夹c
案例2
[root@pylinux opt]# cp luffy_boy.zip luffy_boy.zip.bak2
cp:是否覆盖"luffy_boy.zip.bak2"? y
[root@pylinux opt]# cp luffy_boy.zip luffy_boy.zip.bak2 -i
cp:是否覆盖"luffy_boy.zip.bak2"? y
cp确认是否覆盖是-i参数作用,默认alias因为添加了别名
[root@pylinux opt]# alias
alias cp='cp -i'
[root@pylinux opt]# cp luffyCity/ luffyCity2 #必须添加-r参数才可以复制递归目录
cp: omitting directory 'luffyCity/'
[root@pylinux opt]#
[root@pylinux opt]#
[root@pylinux opt]#
[root@pylinux opt]# cp -r luffyCity/ luffyCity2
[root@pylinux opt]#
[root@pylinux opt]#
[root@pylinux opt]# ls
luffyCity luffyCity2
取消cp别名的方式
- 使用命令绝对路径
- 命令开头用反斜线 \
- 取消cp命令别名
- 写入环境变量配置文件
1.
[root@pylinux opt]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@pylinux opt]# /usr/bin/cp luffy_boy.zip luffy_boy.zip.bak
2.
[root@pylinux opt]# \cp luffy_boy.zip luffy_boy.zip.bak
3.
[root@pylinux opt]# unalias cp
[root@pylinux opt]#
[root@pylinux opt]# cp luffy_boy.zip luffy_boy.zip.bak
4.
[root@pylinux opt]# vim ~/.bashrc #可以注释掉如下配置
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
#alias cp='cp -i'
alias mv='mv -i'
快速备份配置文件
mv命令
mv命令就是move的缩写,作用是移动或是重命名文件
用法:mv [选项]... [-T] 源文件 目标文件
或:mv [选项]... 源文件... 目录
或:mv [选项]... -t 目录 源文件...
将源文件重命名为目标文件,或将源文件移动至指定目录。
-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, --no-clobber 不覆盖已存在文件如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
-t, --target-directory=DIRECTORY 将所有参数指定的源文件或目录移动至 指定目录
-u, --update 只在源文件文件比目标文件新,或目标文件不存在时才进行移动
mv移动|重命名
mv案例
移动(搬家)命令 > move > mv
1.给文件重命名
mv abc abc.py
2.如果目标文件存在,-i参数则提示是否覆盖
mv test1.txt test2.txt
3.使用反斜杠命令屏蔽别名
\mv kunkun wuyifan
4.取消别名
5.移动单个文件
mv file1.txt dir/
6.移动多个文件
mv file1.txt file2.txt dir/
7.通配符移动多个文件
mv dir/file* ../
rm命令
Linux在使用rm(删除)、cp(覆盖)、mv(搬家)等命令的时候,必须非常小心,因为这些命令都是“炸弹”,想必大家都听过“删库到跑路”,一言不合“rm -rf /”,假如你真的这么做了,那么。。。上帝保佑你
用法:rm [选项]... 文件...
删除 (unlink) 文件。
rm命令就是remove的含义,删除一个或者多个文件,这是Linux系统重要命令
-f, --force 强制删除。忽略不存在的文件,不提示确认
-i 在删除前需要确认
-I 在删除超过三个文件或者递归删除前要求确认。
-d, --dir 删除空目录
-r, -R, --recursive 递归删除目录及其内容
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 显示版本信息并退出
案例
1.删除普通文件,需要确认提示,默认添加了-i参数
rm file1.txt
2.强制删除文件,不提示
rm -f file2.txt
3.递归删除文件夹
[root@pylinux tmp]# rm -r heh/
rm:是否进入目录"heh/"? y
rm:是否删除普通空文件 "heh/kuanmian2"?y
rm:是否删除普通空文件 "heh/kuanmian"?y
rm:是否删除目录 "heh/"?y
炸弹命令
务必看清楚敲打的命令,是否正确、不得有空格
务必看清楚敲打的命令,是否正确、不得有空格
务必看清楚敲打的命令,是否正确、不得有空格
1.强制删除且不让用户确认
rm -rf 文件夹
2.强制删除且显示过程
[root@pylinux tmp]# rm -rfv ./*
已删除"./456.txt"
已删除目录:"./q/w/e/r/t/yt"
已删除目录:"./q/w/e/r/t"
已删除目录:"./q/w/e/r"
已删除目录:"./q/w/e"
已删除目录:"./q/w"
已删除目录:"./q"
注意文件恢复
rm命令删除文件后可以通过如ext3grep工具恢复数据,若是想要粉碎文件,还有其他方式
Linux帮助命令
man帮助命令
当你不知道linux命令如何使用的时候,使用man命令帮助你
语法
man 命令
如:
man ls
进入man帮助文档后,按下q退出
使用--help参数
语法:
命令 --help
帮助命令的精简版
如 ls --help
help命令获取帮助
语法:
help 命令
只针对bash内置命令
info命令获取帮助
语法:
info 命令
从互联网中获取
互联网有很多在线linux中文文档网站
Linux开关机命令
shutdown重启或者关机
[root@pylinux ~]#shutdown --help
shutdown [OPTIONS...] [TIME] [WALL...]
Shut down the system.
重启
语法:
shutdown -r参数 -r --reboot Reboot the machine
shutdown -r 10 #十分钟后重启
shutdown -r 0 #立刻重启
shutdown -r now #立刻重启
关机
语法:
shutdown -h --halt 停止的含义
shutdown -h 10 #十分钟后关机
shutdown -h 0
shutdown -h now #立即关机
halt,poweroff,reboot命令关机与重启
reboot 重启
poweroff
halt 关机
关机、重启、注销命令列表
命令 | 说明 |
---|---|
shutdown -h now | 立刻关机,企业用法 |
shutdown -h 1 | 1分钟后关机,也可以写时间如 11:30 |
halt | 立刻关闭系统,需手工切断电源 |
init 0 | 切换运行级别为0,0表示关机 |
poweroff | 立刻关闭系统,且关闭电源 |
重启 | |
reboot | 立刻重启机器,企业用法 |
Shutdown -r now | 立刻重启,企业用法 |
shutdown -r 1 | 一分钟后重启 |
Init 6 | 切换运行级别为6,此级别是重启 |
注销命令 | |
logout | 注销退出当前用户 |
exit | 注销退出当前用户,快捷键ctrl + d |
Linux命令行常用快捷键
ctrl + c cancel取消当前操作
ctrl + l 清空屏幕内容
ctrl + d 退出当前用户
ctrl + a 光标移到行首
ctrl + e 光标移到行尾
ctrl + u 删除光标到行首的内容
Linux的环境变量
同学们应该都会配置windows下的环境变量(PATH),都知道系统会按照PATH的设定,去每个PATH定义的目录下搜索可执行文件。
那么如何查看Linux下的PATH环境变量呢?
执行命令:
echo $PATH
echo命令是有打印的意思
$符号后面跟上PATH,表示输出PATH的变量
PATH(一定是大写的)这个变量是由一堆目录组成,分隔符是":"号,而不同于windows的";"号。
绝对路径与相对路径
Linux中非常重要的概念--路径,路径用来定位如何找到某个文件。
这里浩哥先讲个例子,到底什么是相对路径,绝对路径
比如一个老外,要来老男孩教育学习python,但是他找不到地点,因此向你问路,你可以告诉他:
1.先坐飞机来中国北京,从北京机场坐地铁到沙河地铁站,然后走路800米到沙河汇德商厦,上四楼,找到浩哥,结束寻路。
2. 浩哥就在汇德商厦403办公室,武佩奇后面坐着呢!!!
Linux下特别注意文件名/路径的写法,可以将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative)。这两种文件名/路径的写法依据是这样的:
- 绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;
- 相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或../../home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径
因此你必须了解,相对路径是:以你当前所在路径的相对路径来表示的。
例如你现在在/home 这个目录下,如要进入/var/log这个路径,如何写呢?
- cd /var/log (绝对路径)
- cd ../var/log(相对路径)
结果如图:
因为你在/home底下,因此你要回到上一层(../)之后,才能继续前往/var,特别注意:
- . :代表当前的目录,也可以用./ 来表示
- .. :代表上一层的目录,也可以用../来表示
Linux系统命令基础的更多相关文章
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux实战教学笔记04:Linux命令基础
第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...
- Linux 系统命令总结
自己收集到的Linux系统命令大全! 1,查看apache2的连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S ...
- Linux入门基础之一
Linux 入门基础 一.Linux 系统安装 安装方法网上很多,请自行百度 二.Linux 基本操作 2.1.GNOME图形界面基本操作 操作类似于Windows系统操作 打开每一个文件夹都会打开一 ...
- linux之基础命令大全
作为测试人员对linux系统命令必须非常熟悉,尤其对于高级测试工程师,从事性能方面测试,就更需要对linux命令了如指掌,这里只对部分常用命令做解释,想深入学习请关注后续文章 ctrl z 终止当前 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- 5.linux内核模块基础,内核模块学习
linux内核模块基础 一.定义 Linux 内核的整体结构非常庞大,其包含的组件也非常多,如何使用这些组件呢: 方法 1:把所有的组件都编译进内核文件,即:zImage 或 bzImage,但这样会 ...
- Linux信号基础
Linux信号基础 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux进程基础一文中已经提到,Linux以进程为单位来 ...
随机推荐
- fast json 乱序问题解决过程
解决问题:保存到redis中的jsonstring在转回jsonObject的时候乱序: 解决方案:https://inlhx.iteye.com/blog/2312512 解决过程: 1 看fast ...
- HTTPS 一定是安全的吗?
大家好,我是小林. 上周有位读者在面字节时被问道这么一个问题:HTTPS 一定安全可靠吗? 这个问题的场景是这样的:客户端通过浏览器向服务端发起 HTTPS 请求时,被「假基站」转发到了一个「中间人服 ...
- K8S中部署apisix(非ingress)
不使用pvc的方式在K8S中部署apisix-gateway 简介 因为公司项目准备重构,现在做技术储备,之前公司项目使用的ocelot做网关,ocelot是.net平台下的一个网关,也是很不错,但是 ...
- SpringMVC完整版详解
1.回顾MVC 1.1什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑.数据.显示分离的方法来组织代码. MVC主要 ...
- Android的Handler线程切换原理
Handler是我们在开发中经常会接触到的类,因为在Android中,子线程一般是不能更新UI的. 所以我们会使用Handler切换到主线程来更新UI,那Handler是如何做到实现不同线程之间的切换 ...
- PHP代码审计——文件操作漏洞
梦想CMS(lmxcms)任意文件删除 1. 漏洞详情--CNVD-2020-59469 2. 漏洞描述称后台Ba***.cl***.php文件存在任意文件删除,查看cms源码,只有BackdbA ...
- Shell第四章《正则表达式》
一.前言 1.1.名词解释 正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符.在大多数程序里,正则表达式都被置于两个正斜杠之间:例如/l[oO] ...
- KFS replicator安装(KES-KES)
源端 一.安装前置配置 1.创建安装用户 groupadd flysync useradd flysync -g flysync -G kingbase passwd flysync 2.上传安装文件 ...
- 微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(一) 之 环境搭建及脚本录制
一.前言 半年前,偶然在视频号刷到某机构正在直播讲解Playwright框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了. 读到这,你可能就去百度 ...
- TortoiseSVN 执行清理( cleanUp )失败的解决方案
TortoiseSVN 执行清理( cleanUp )失败的解决方案 今天碰到了一个比较棘手的问题,在这里做一下记录,以方便自己和有需要的朋友在之后碰到该类问题时有个参考. 现象 更新SVN时弹出清理 ...