linux 对比文件差异 md,Linux常用命令_md

一 . 基础命令

grep 查找一行含有该字符串的命令

grep [选项]... PATTERN [FILE]..

-a :将binary文件以text文件的方式查找数据 -c :计算找到‘查找字符串’的次数 -i :忽略大小写的区别,即把大小写视为相同 -v :反向选择,即显示出没有‘查找字符串’内容的那一行

find 查找文件

相对而言,它的使用也相对较为复杂,参数也比较多

# 与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;

-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;

-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;

-newer file : 列出比file还要新的文件名

# 例如:

find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件

# 与用户或用户组名有关的参数:

-user name : 列出文件所有者为name的文件

-group name : 列出文件所属用户组为name的文件

-uid n : 列出文件所有者为用户ID为n的文件

-gid n : 列出文件所属用户组为用户组ID为n的文件

# 例如:

find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件

# 与文件权限及名称有关的参数:

-name filename :找出文件名为filename的文件

-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件

-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、

目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);

-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;

-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示

-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

# 例如:

find / -name passwd # 查找文件名为passwd的文件

find . -perm 0755 # 查找当前目录中文件权限的0755的文件

find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte

cp 复制文件

cp [-a] file1 file2

-a :将文件的特性一起复制

-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i :若目标文件已经存在时,在覆盖时会先询问操作的进行

-r :递归持续复制,用于目录的复制行为

-u :目标文件与源文件有差异时才会复制

mv 移动文件/重命名

mv [-i] file file2

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在,就会询问是否覆盖

-u :若目标文件已经存在,且比目标文件新,才会更新

rm 删除文件

rm [-f] file

-f :就是force的意思,忽略不存在的文件,不会出现警告消息, 直接删除

-i :互动模式,在删除前会询问用户是否操作

-r :递归删除,最常用于目录删除,它是一个非常危险的参数

ps 查看进程(一般与grep连用)

ps -aux | grep java` ps aux # 查看系统所有的进程数据 ps ax # 查看不与terminal有关的所有进程 ps -lA # 查看系统所有的进程数据 ps axjf # 查看连同一部分进程树状态

-A :所有的进程均显示出来

-a :不与terminal有关的所有进程

-u :有效用户的相关进程

-x :一般与a参数一起使用,可列出较完整的信息

-l :较长,较详细地将PID的信息列出

kill 杀掉某个进程

kill [-SIGINT] pid

1:SIGHUP,启动被终止的进程

2:SIGINT,相当于输入ctrl+c,中断一个程序的进行

9:SIGKILL,强制中断一个进程的进行

15:SIGTERM,以正常的结束进程方式来终止进程

17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行

tar 打包, 解压

压缩:tar -jcv -f filename.tar.bz2 filename` 查询:tar -jtv -f filename.tar.bz2 解压:tar -jxv -f filename.tar.bz2 -C filemkdir

-c :新建打包文件

-t :查看打包文件的内容含有哪些文件名

-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中

-j :通过bzip2的支持进行压缩/解压缩

-z :通过gzip的支持进行压缩/解压缩

-v :在压缩/解压缩过程中,将正在处理的文件名显示出来

-f filename :filename为要处理的文件

-C dir :指定压缩/解压缩的目录dir

cat / vim 查看文件

vim命令: gg 跳到文件开始 GG 跳到文件结束 / name 查找字段 n 查找下一个 N 查找上一个

chmod命令

chmod 777 filename

该命令用于改变文件的权限

time命令

time process

该命令用于测算一个命令(即程序)的执行时间

file 用于判断接在file命令后的文件的基本数据

file filename

二. 远程连接

远程连接数据库

mysql -u{root} -p[port] -h{ip}

远程连接

ssh -p {port} [email protected]{ip}

三.本机网络

多IP机器更换IP

iptables -t nat -I POSTROUTING -o 网卡名 -d 0.0.0.0/0 -s 机器默认ip -j SNAT --to-source 要更换的ip

查看 ip 更换记录

service iptables status

清除 防火墙上的postrouting表规则, 及更换ip的记录

iptables -t nat -F POSTROUTING

查看网卡名

cat /proc/net/dev

查看可用本机ip地址

ip addr

linux 下 查看Apache的并发请求数及其TCP连接状态

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

netstat -n|grep ^tcp|awk ‘{print $NF}‘|sort -nr|uniq -c

netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}‘

结果示例

TIME_WAIT 34 SYN_SENT 1 FIN_WAIT2 4 ESTABLISHED 633

CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

linux查看httpd进程数

ps -ef | grep httpd | wc -l

查看Nginx运行进程数

ps -ef | grep nginx | wc -l

查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

查看MySQL进程连接数:

ps -axef | grep mysqld -c

ps -ef | grep mysqld -c

远程拷贝文件

本地向远程

scp -P {port} {本地目录} [email protected]{ip}:{远程目录}

远程向本地

scp -P {port} [email protected]{ip}:{远程目录} {本地目录}

系统命令

top

linux 查看本机内存

0ae561a8bca18158dc3b123fe93a0711.png

出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.youkuaiyun.com/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值