tar zxvf 文件名.tar.gz 解压
tar zcvf 文件名.tar.gz 目标名 压缩
tar ztvf 文件名.tar.gz 查看压缩包内容
tar zcvf 文件名.tar.gz 目标名 --exclude 文件名 压缩并排除某个文件
解压部分文件到指定目录: tar zxvf 文件名.tar.gz -C 目录 待解压文件名1 待解压文件名2
解压非tar的gz:
gunzip -c filename.gz > filename
zip abc.zip abc
unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/
>-o:不提示的情况下覆盖文件;
>-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
split -b 5m filename newfilename 切分文件
md5sum 计算文件和字符串的md5
wall 广播消息给其他终端指令
centos7开启80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
关闭防火墙systemctl stop firewalld.service
查看内核:
uname -a; cat /proc/version;
查看发行版本:
more /etc/issue;
centos: rpm -qi centos-release 或 lsb_release -a
查看可安装的安装包/查看已安装的安装包:
ubuntu/debian:
搜索: apt-cache search php或者apt search php
查看: dpkg -l
dpkg -i 安装包文件
dpkg -S 查看文件所属安装包(所属包)
删除:apt-get autoremove --purge php 彻底删除已安装软件
dpkg --purge 清除rc状态的包
centos:
搜索: yum list
查看: rpm -qa
安装 rpm -i
rpm -qf 文件名的绝对路径 查看文件所属安装包(所属包)
rpm -ql 查看包的安装路径
增加源:/etc/yum.repos.d
删除:rpm -e --nodeps(强制卸载)
sftp:
sftp -P 80 root@127.0.0.1
get /var/www/fuyatao/index.php /home/fuyatao/
get /var/www/fuyatao/index.php /home/fuyatao/
管理用户和用户组:
useradd添加用户。usermod修改用户信息。userdel删除用户。groupadd添加用户组。groupmod修改用户组信息。groupdel删除用户组。
查看64/32:
file /sbin/init 或者 file /bin/
管道和重定向:
ls 2>&1 | grep '' 将ls的错误信息传给grep
ls >file 2>&1 将错误信息传递到标准输出 并把两者写入file
1. your_command > output.txt 2>&1
解释
:
>> output.txt
:首先将标准输出(stdout,文件描述符 1)重定向到
output.txt
> 文件。
2>&1
:然后将标准错误输出(stderr,文件描述符 2)重定向到标准输出(即现在的
output.txt
)。
结果
:
标准输出会被写入
output.txt
,而标准错误也会被重定向到
output.txt
,因此最终
output.txt
> 中会包含标准输出和标准错误的内容,错误信息出现在标准输出之后。
2. your_command 2>&1 > output.txt
解释
:
:首先将标准错误输出重定向到标准输出(即当前的标准输出流)。
>> output.txt
:然后将标准输出重定向到
output.txt
> 文件。
结果
:
在这种情况下,标准错误输出仍然会发送到原始标准输出(在重定向到文件之前),所以标准错误会输出到终端或原来的标准输出位置。
标准输出会被写入到
output.txt
,但标准错误不会写入该文件。相反,标准错误会显示在终端。
注:重定向优先级高于管道, 重定向运算方式为从右至左,管道相反
2020/07/07添加: 2>& 和 1>& 为标准错误和标准输出重定向到标识符, 1和2为标准输出和标准错误的标识符
特殊命令优先级(高到低):??
> > | &&或||或; &
示例: ls > /dev/null 2>&1 | cat ; ls & 只将后面命令放入后台执行
ls > /dev/null 2>&1 | cat & ls & 将前后命令都放入后台执行
tcpdump -t -nn -i eth0 -s 0 -c 100 tcp and \(host 192.168.1.0\) and port 1174 -w file.cap 抓包
http://linux.vbird.org/linux_server/0140networkcommand.php
可能出现的坑:apparmor导致没有权限写入文件啊
cut -b/-c 以字节或字符获取剪切部分
cut -d [取代tab的单字符] -f [1,2,3...] 以区域来剪切
logger -i -t 'my_test' -p local6.info 'test_content' -t后跟标题
查看历史操作和历史登录
history 查看历史操作
last 查看最近登录
who 查看有谁登录
sort -n -k 2 -t ‘:’ facebook.txt 以:为分隔符的第二个域按照数值排序
nc -v -w 1 192.168.228.222 -z 1-1000 w指定超时,vvv为详细信息,z只扫描端口不发送数据
route 查看路由
查看io:
iostat -t 1
iotop
watch -n 1 每隔一秒重复执行命令
lsof 显示已打开的文件
sz/rz 下载文件到本地/上传到远程
trap 发送信号
tee 从标准输入读取并写入到标准输出和文件 ls|tee abc.txt|grep abc
declare -x FRANK=frank/ export FRANK=frank/ 设置环境变量
https://superuser.com/questions/821094/what-is-the-difference-between-set-env-declare-and-export-when-setting-a-varia
time 计算程序执行时间
bc/expr 算术运算
script 记录屏幕
ss soket监控
chattr +i/a 全面锁定文件/只能增加不能删除
lsattr 列出chattr设置的attribute,用于限制文件的操作
env 查看所有环境变量
read 读取用户输入到变量
ulimit 设置用户可用系统资源配额
umask 查看预设的文件创建后的权限
stty 设置tty
run-parts 执行目录中的可执行文件
strace 追踪程序的系统调用,可用于排查错误
getfacl
setfacl
pwd -P 查看档期目录非软链路径
nload 查看网速
iftop 查看具体ip网速
lshw 查看硬件信息
locale 查看位置设置
declare -f 查看已定义函数
ls -L查看软连接指向的源文件的信息
openssl s_client -connect 101.37.43.15:443 获取服务器返回证书
screen:
http://man.linuxde.net/screen
关闭detached session: screen -X -S 7373 quit
在screen内:
翻页:ctrl-a [
帮助:ctrl-a ?
杀掉当前窗口:ctrl-a k 或者 ctrl-d
离开screen窗口:ctrl-a d
杀掉所有窗口并退出:ctrl-a \
grep -C 5 显示匹配到行数的上下5行
grep --exclude-dir={ab,cd} 排除文件夹
grep --exclude=*.txt 排除文件
grep -I 不匹配二进制文件
查看线程的几种方式:
ps -T
top -H
pstree -p 18813查看pid对应的线程
查看进程启动时间: ps -o lstart -p 3490739
安装epel(较新的软件库):
wget http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm (安装rpm文件使用此参数)
更新/同步时间:
ntpdate 0.asia.pool.ntp.org
ls根据时间排序:
ls -l -t --time=atime ctime修改时间
ls -lSh 根据大小排序
date用法:
date -d "1 day" +"%Y-%m-%d %H:%M:%S"
date +%s 时间戳
at用法:
echo 'rm /root/html/frank/mp2.mp4'|at '18:01 2019-03-11'
at -l 查看jobid at -c jobid 查看具体操作
echo用法:
echo $'\n' 输出回车
设置时区: