Ctrl+alt+enter 全屏
Ctrl+alt 移出鼠标
Ctrl+alt+f2 切换命令行 f1桌面(chvt),
Ctrl+d 退出
Ctrl+L 清屏
Ctrl+s锁屏幕 +q退出
Shift+page up 翻页
PS1=”\[\e[1;33m\][\u@\h \W]\\$\[\e[0m\]”
nano /etc/profile.d/env.sh
(1)单引号不取变量值,类似于一个字符串的用法,忽略所有的命令和特殊字符
(2)双引号取变量值,会解析特殊字符
(3)反引号`,执行引号中命令
/home/[用户] 用户的家目录
/Var/log 日志
/etc/issue 登录前欢迎
/etc/motd 登录后欢迎
Etc 存放配置
Dev 存放驱动
Bin/sbin 程序
Medio mnt 挂载点(光盘,U盘)
Tmp 临时文件
Proc 内存中数据,但有文件
Sys 硬件相关
Lib 库
[命令]\ 多行执行命令
文件系统分层结构 LSB Linux Standard Base
Su 切换用户
Ifconfig 网卡
Sha1sum 计算md5值
Init 3 进入纯字符界面 5桌面界面
Chvt 1/2/3 切换用户,桌面切换需要root用户,tty 用户编号
Exit logout 退出 shutdown
Cat 看 cat /etc/centos-release
-n 显示行
-s省略空回车
-E 检测空行(显示$)
File [文件] 查看文件类型,建议使用cat前都先看看
Pwd当前目录位置
Who 查看有几个用户连接 whoami 我的用户编号
Alias aplianame=”nano” 设置一个别名,执行等号后面的命令,别名存储在nano .bashrc,\+被占用的别名,执行原始命令
Clock 显示硬件时间,-s 以硬件时间为准,校正系统时间-w 以系统时间为准,校正硬件时间
timedatectl set-timezone Asia/Shanghai 设置时区为上海时区
Screen
-S [name] 创建一个会话 -x 加入一个会话 ctrl+a,d临时退出会话 -r [name]恢复会话 -ls 显示已打开的会话
可以用于客户端断开后程序继续执行
Source 例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。
Echo 加-e启动命令
\r 把光标移到首尾 \n换行
Echo ‘$VAR_NAME’ 变量会替换,弱引用
Echo “$VAR_NAME” 变量不会替换,强引用,不识别命令
$() 识别命令和变量
Whatis [命令] 查询命令用途
Whereis [命令] 命令程序所在目录
rpm -ivh 安装
Rm -f 忽视删除警告
Wget 下载
History -c 清除历史 HISTTIMEFORMAT=”%F %T ” 显示命令日志时间
Touch 创建文件
Touch {a..z}创建a-z的文件
Touch — -a 创建一个“-a”的文件 写相对路径和绝对路径也可以 ./-a
touch `date +%F`.log 创建一个xx-xx-xx的日志文件
Mkdir 创建文件夹 /{x,y}/{1,2} /{x,y/{dir1,dir2}}
-p如果上级目录不存在就一起创建
Diff [文件] [文件] 比较两个文件的区别
Cd -P 切换到快捷方式的原目录
Cd – 回到刚才的目录
./当前目录 ../父目录
Cd -R 显示当前所有目录下子目录的文件
Basename基名(文件名)
Dirname 目录名
Ls : -ld [目录] 显示目录的属性 ,-X 按文件后缀排序 -h改变显示大小单位(MB GB)
LL : –time=atime 查看读取文件的时间 ()c
L.只显示隐藏文件
Ls f?[0-9].* 显示f1-9的任意后缀的文件 ;[ABz]是“或”的关系 ;[^a-z]除a-z
Ls -Ia “[^.]*” 显示隐藏文件
Ls -d */ 只显示文件夹
systemctl stop firewalld
systemctl disable firewalld.service
关闭防火墙
修改ssh端口
/etc/ssh/sshd_config
Chown [用户名] [文件] 更改文件的所有者
Stat [文件] 显示文件状态
Cp [目标文件] [目标目录] 复制文件
–backup 复制前备份一下,名字为“原文件名+~”
-r 复制包括文件夹的内容 文件夹不存在,就创建,文件夹存在就复制到同名文件夹内
-n 有相同的文件就不覆盖
-a 保留文件的所有属性
-v 显示复制过程
-u 只覆盖同名的相对旧的文件,
Cp -av /etc/ data/backup`date +%F` 按backupxx-xx-xx的形式备份
Mv [目标文件] [目标目录] 移动文件
-i 交互式
-f 强制
-b 目标存在,覆盖前先备份
Rm 删除
-i 交互式
-f 强制 -r 递归 示例rm -rf /*
Lsof |grep deleted
Rmdir 删除空目录
-p 上级目录如果也是空的,就一起删了
dd if=/dev/zero of=./test bs=1M count=800 创建800M的文件
> [文件名] 文件存在就清空,变成0字节(完全删除还需要rm),不存在就创建
>> [文件名] 文件不存在就创建,存在就不操作
Rename [需要修改的字符串] [修改为] [文件名称] 将指定名称的文件批量修改名称
Rename conf conf.bak *.conf
Ln [文件] [硬连接] 创建硬连接,不能夸分区,删除原文件也不会对连接文件有影响,不支持文件夹
Ln -s [文件] [软连接 创建软连接] 相当于快捷方式,支持文件夹,支持跨分区
硬连接和软连接的区别
Locate [文件] 搜索文件 ,updatadb更新搜索数据库。有通配符需要用””扩起来
Locate “*.sh”
-i 不区分大小写
Find
inode是否是相同文件
-user [用户]
-o 满足条件之一
find / -name php.ini
Find -name “*.sh” -o -user root
Find \( -name “*.sh” -o -user root \) -ls
Find -not -name “*.sh” 寻找除了*.sh的文件
文本编辑工具
sed -i ‘s/database_name_here/wordpress/’ /var/www/html/wp-blog/wp-config.php
-s/[原内容]/[替换内容]
tr(选项)(参数)
tr (选项) a b 把a替换成b
-d 删除
-c 取反
Echo hello|tr ‘a-z’ ‘A-Z’ 大小写替换
tr -dc ‘A-Za-z0-9_’ 只要字母数字下划线
Tac 倒叙显示
Less [文本] 分页显示长文本
/文本 搜索文本
n/N匹配下一个/上一个
Ifconfig|head -2 显示前两行
Tail -f 实时显示文件更新
Grep
正则表达式
Ifconfig ens33 | grep -o “[0-9]\{1,3\}\.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}” |head -n1
Ifconfig ens33 | grep “\<\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\>”
Echo a xyz b | grep -o “\<xyz\>” 单独找出单词
Grep “\(abc\)\{3\}” [文件] abc出现了三次的位置
Grep “\(abc\).*\(xyz\).*\2” abc xyz abc xyz 这里\2或者\1是指匹配第一次匹配的abc或者第二次匹配的xyz (括号中的内容)
grep “\(abc\).*\(xyz\).*\2” = grep “\(abc\).*\(xyz\).*\(xyz\)”
但是!\1是匹配的是结果,比如abc111abc可以,但是abc111abd就不行
Vim
-d [file1] [file2] 比较两个文件
i键,开始编辑
Esc退出编辑
:+命令 q退出,w [保存到名称,可选]保存,wq保存退出,q!强制退出,
![命令] 在编辑模式中执行外部命令
r读入文本 r!hostname 读入主机名称
u 撤销
Ctrl+r 重做
. 重复刚才的操作
- 重复n次刚才的操作
ggdG全部删除
/[文本] 搜索文本
n往下搜索,N往上搜索
Vim -O 同时分屏编辑文件,ctrl+w在按左右切换编辑窗口
ctrl+w,o取消全部窗口,q相邻窗口 :qall全部退出
:set number 加行号,nonu取消行号
:set ai 自动对齐 noai 关闭
:set paste 保留复制格式
:set hlsearch 高亮搜索 :nohl 关闭
Syntax on 语法高亮 off关闭
:set list 显示隐藏字符 nolist 关闭
/etc/vimrc 设置配置文件,加set number 设置行号
Unix2dos windows和linux文本转换
yum install dos2unix
netstat -tunlp
chmod -R 777 ./
172.27.173.176
nohup sslocal -c /etc/shadowsocks.json /dev/null 2> /dev/null &
下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
解决kali linux编译时提示 Could NOT find OpenSSL 问题
sudo apt-get install libssl-dev