linux操作速查

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' 输出回车

设置时区: