linux命令总结

查看版本、下载、解压,打包,安装

"rpm -qa|grep python3-3" 查看python3有哪个版本号
"pip3 show mxnet-cu100"        

"nvcc -V"                   查看cuda是哪个型号
"pip install mxnet-cu100"  针对cuda10.0版本下载gpu的版本
"pip install mxnet-cu100 --target=d:\somewhere\name"  指定位置安装
"pip3 install mxnet-cu100==1.7.0 -i https://pypi.douban.com/simple"  豆瓣影像下载

"wget -P ./work 数据源链接" 根据数据源下载到当前文件夹下的work里
"sudo dpkg -i mplayer-gui_1.3.0-6_armhf.deb" 将文件mplayer-gui_1.3.0-6_armhf.deb安装
	ubuntu的deb安装命令sudo dpkg -i
""
""
""
""
""

"""
	打包tar
"""-c :建⽴一个压缩⽂件的参数指令(create 的意思);
• -x :解开⼀个压缩⽂件的参数指令!
• -t :查看 tarfile 里面的文件!
• -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
• -v :压缩的过程中显示打包了哪些文件!
• -f :使用档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!
• -N :⽐后面接的⽇日期(yyyy/mm/dd)还要新的才会被打包进新建的⽂件中!

"tar -zcvf code.tar.gz code"	将code文件夹打包成code.tar.gz
"tar -cvf code.tar code"		将code文件夹打包成code.tar
"tar -xvf code.tar"     		code.tar解压缩
"tar -zxvf code.tar.gz"  	    code.tar.gz解压缩
"--exclude FILE"				在压缩的过程中,不要将 FILE 打包,"tar -cvf code.tar code --exclude try2"
"tar -tf code.tar"				预览code.tar的打包文件

档案(文件)及目录的创建、剪切,复制,删除,权限

nano
在这里插入图片描述

"nano text.txt" 建立文件并进入
	"ctrl-k" 剪切一行
	"ctrl-u" 粘贴
	"ctrl-6" 标记文字

"touch text.txt" 建立空的文件,不进入
"echo Hello world!> a.txt" 往a.txt写内容,不进入
cat 由第一行开始显示档案内容
	"cat -b" 空白行不标行号
	"cat -n" 所有均列出行号

tac 从最后一行开始显示,可以看出tac 是cat 的倒着写!

nl 显示的时候,顺道输出行号!默认空白行不加行号
	"nl -ba" 所有均列出行号

more 一页一页的显示档案内容
	空白键(space):代表向下翻一页;
	Enter :代表向下翻『一行』;
	/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
	:f :立刻显示出档名以及目前显示的行数;
	q :代表立刻离开more ,不再显示该档案内容。
	b 或[ctrl]-b :代表往回翻页,不过这动作只对档案有用,对管线无用。
	
less 与more 类似,但是比more 更好的是,他可以往前翻页!
	空白键 :向下翻动一页;
	[pagedown]:向下翻动一页;
	[pageup] :向上翻动一页;
	/字串 :向下搜寻『字串』的功能;
	?字串 :向上搜寻『字串』的功能;
	n :重复前一个搜寻(/ 或? 有关!)
	N :反向的重复前一个搜寻(/ 或? 有关!)
	g :前进到这个资料的第一行去;
	G :前进到这个资料的最后一行去(注意大小写);
	q :离开less 这个程式;
	
head 只看头几行
	"head -n 20 text.txt" 显示前20"head -n -20 text.txt" 后面的20行都不列出,只列出前面几行

tail 只看尾巴几行
	"tail -n 20 text.txt" or "tail -20 text.txt"显示后20"tail -n +100 text.txt" 显示100行后的内容
	"tail -f text.txt" 持续侦测
	""
od 以二进位的方式读取档案内容!
	"od -tc text.txt" 使用ASCII输出

"-" 加入选项设定时,通常选项前会带-, 例如-h;
"--" 有时候会使用选项的完整全名,则选项前带有-- 符号,例如--help
"." 隐藏文件
"ls"	 列出非隐藏的文件和文件夹。
"ls -h" 同 ls
"ls -l"  列出非隐藏的文件的同时查看文件的大小
"ll" 同 ls -l
"ll -d test[34]" 列出目录test3, text4
"ls -l --full-time" 在ls-l上,显示完整的时间格式
"ls -a"  列出文件夹里的所有内容,包括以"."开头的隐藏文件
"ls -A" :全部的档案,连同隐藏档,但不包括... 这两个目录
"ls -al" 在ls -l上,列出其大小
"ls -al ~"  列出文件夹里的所有内容及其大小,其中,~ 指的是『目前所在的目录』
"ls -a -l ~" 同上
"ls -al test.tx*" 在ls -al 上,列出以test.tx开头的文件
"ls -ld" 以目录形式展示


"cd"    回到自己的主目录
"cd /"  改变目录到根目录
"cd /tmp" 打开根目录下的tmp
"cd .." 切换到上一级目录
"cd -"  回到上次的目录
"cd ~"  进入当前用户的主目录
"cd ~account" 打开account 这个使用者的家目录(account是个帐号名称)

"mkdir" 建立目录
"mkdir name"  创建name文件夹,然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在"
"mkdir -p test1/test2/text3"  自行建立多层目录
"mkdir -m 711 test1" 设定权限,不需看预设权限umask的脸色
"rmdir" 删除空目录
"rmdir -p test1/test2/text3" 删除多层目录
"pwd"   当前目录
"pwd -P" 显示确实路径,而非连结路径

"echo $PATH"  搜寻路径
PATH="${PATH}:/root"  使用绝对路径/ 将root文件夹加入搜索路径


[root@study ~]# cp [-adfilprsu]来源档(source)目标档(destination) 
[root@study ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
-a :相当于-dr --preserve=all的意思,至于dr请参考下列说明;(常用)
-d :若来源档为连结档的属性(link file),则复制连结档属性而非档案本身;
-f :为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次;
-i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;
-p :连同档案的属性(权限、用户、时间)一起复制过去,而非使用预设属性(备份常用)-r :递回持续复制,用于目录的复制行为;(常用)
-s :复制成为符号连结档(symbolic link),亦即『捷径』档案;
-u :destination 比source 旧才更新destination,或destination 不存在的情况下才复制。
--preserve=all :除了-p 的权限相关参数外,还加入SELinux 的属性, links, xattr 等也复制了。
最后需要注意的,如果来源档有两个以上,则最后一个目的档一定要是『目录』才行!

"cp ~/bashrc tmp/b" 将家目录下的bashrc 复制到tmp下,更名为b
"cp -i ~/bashrc tmp/b" 会询问是否会覆盖
"cp -i ~/bashrc ." 复制到当前目录
-p :连同档案的属性(权限、用户、时间)一起复制过去,而非使用预设属性(备份常用)"cp -r /etc/ /tmp" :复制/etc/这个目录下的所有内容到/tmp底下(-r 递回持续复制,用于目录的复制行为;)
"cp -s bashrc bashrc_link" 将bashrc建立一个连接档
"cp bashrc_link link1" 复制连接档的实际档案,而非连接档的属性
"cp -d bashrc_link link2" 复制连接档的属性
"cp -u 来源档 目标档" 只有来源档比目标档新才复制过来
"cp 来源档1 来源档2 目标档"

"mv -f" force,直接覆盖
"mv -i" 询问是否覆盖
"mv -u" 如果source比destination新才更新
"mv try1.txt code/"  移动try1.txt到code文件夹

"rm -f" force, 忽略不存在的档案
"rm -i" 互动模式
"rm -r" 递回删除,目录
"rm -rf name/"   删除name这个文件夹
"rm try1.txt"	 删除try1.txt
"rm tr*"		 删除以tr为开头的文件
"rm *"		     如果目录下只有文件
"rm * -r"		 如果有目录下面有文件夹,参数r代表递归删除,若当前文件夹下没有文件夹,可不用此参数
"d" + "shift+g"    在文件下全部删除

mtime 内容时间变更  "ls -l --time=mtime text.txt"
ctime 权限属性时间变更
atime 读取时间变更

[root@study ~]# touch [-acdmt]档案
选项与参数:
-a :仅修订access time;
-c :仅修改档案的时间,若该档案不存在则不建立新档案;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用--date="日期或时间"
-m :仅修改mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]
"touch text.txt" 三个时间都更新为目前的时间, 若档案不存在,主动建立。
"touch -d '2 days ago' test.txt" 将atime,ctime调整为2天前,ctime没有改变
"touch -t 201206150202 text.txt" 将atime,ctime调整为2012/06/15 2:02, ctime记录当前时间


"su -" 切换root身份,操作完成后,exit切换为一般用户。
"chgrp" 改变文件所属群组 chgrp user test.txt
"chown" 改变文件拥有者   
	chown fengxn test.txt  改拥有者
	chown fengxn:uses test.txt 改拥有者、群组
	chown fengxn.user test.txt 同上
	chown .user test.txt 只改群组
"chmod" 改变文件的权限
	"chmod u=rwx, go=rx text.txt"  usr, group, others
	"chmod a+w text.txt" 增加每个人均可写入的权限
	"chmod a-x test.txt" 拿掉每个人的可执行权限

"umask"  0022, 所以user 并没有被拿掉任何权限,不过group 与others 的权限被拿掉了2 (也就是w 这个权限)
"umask -S" u=rwx,g=rx,o=rx
目录预设777, 档案预设666
建立档案时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
建立目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
"umask 002" 使用预设权限修改权限

"chattr +i test.txt" 让一个档案『不能被删除、改名、设定连结也无法写入或新增资料!』对于系统安全性有相当大的助益!只有root 能设定此属性.
"chattr -i test.txt" 移除
"chattr -a test.txt" 当设定a 之后,这个档案将只能增加资料,而不能删除也不能修改资料,只有root 才能设定这属性
[root@study ~]# lsattr [-adR]档案或目录
选项与参数:
-a :将隐藏档的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的档名;
-R :连同子目录的资料也一并列出来! 
"lsattr test.txt" 查阅隐藏属性

"file text.txt" 查看类型
"which ifconfig" 寻找ifconfig的执行档
"whereis ifconfig" (由一些特定的目录中寻找档案档名)
"locate -l 5 xiaodu_x8" 找出系统中所有与xiaodu_x8相关的档名,且只列出5个
updatedb:根据/etc/updatedb.conf 的设定去搜寻系统硬碟内的档名,并更新/var/lib/mlocate 内的资料库档案;
locate:依据/var/lib/mlocate 内的资料库记载,找出使用者输入的关键字档名。

"find / -mtime 0" 将过去系统上面24小时内有更动过内容(mtime)的档案列出
"find /home -user fengxn" 搜寻/home底下属于fengxn的档案
"find / -nouser" 搜寻系统中不属于任何人的档案
"find ./ -name xiaodu_x8" 搜寻档名为xiaodu_x8
"find ./ -name '*xiaodu_x8*'" 搜寻档名包含xiaodu_x8

[root@study ~]# find / -perm /7000   搜寻档案当中含有SGID或SUID或SBIT的属性
#所谓的7000就是---s--s--t ,那么只要含有s或t的就列出,所以当然要使用/7000,
# 使用-7000 表示要同时含有---s--s--t 的所有三个权限。而只需要任意一个,就是/7000 ~了乎?

"find / -size +1M" 找出系统中,大于1MB的档案

"""
	find 在一个目录(及⼦目录)中搜索文件,
	可指定匹配条件,如按⽂件名、⽂件类型、⽤户甚至是时间戳查找文件
"""
"find ~ -name "t*" -print" 		寻找主目录下名字以t开头的文件,换行,并打印出来
"find code/ -name t* -print"	寻找code文件夹下名字以t开头的文件,换行,并打印出来
"find ~ -name "t*" | xargs"		寻找主目录下名字以t开头的文件,不换行,空格隔开,并打印出来
"find code/ -name t* -exec ls -l {} \;"	寻找code文件夹下,名字以t开头的,ls -l ,
"find ~ -name "t*" | xargs ls -l"
"find ~ -perm 664 -print"  		寻找主目录权限为664的文件,并打印出来
"find ~ -perm -644 -exec ls -l {} \;"

# 关于"-exec ls -l {} \;"的介绍
# https://unix.stackexchange.com/questions/12902/how-to-run-find-exec

"find ~ -type d"  寻找主目录类型为目录(d)的
"find ~ ! -type d"  寻找主目录类型为非目录(d)的
"find ~ -type l"  寻找主目录类型为链接文件的
"find ~ -size +1000000c"  寻找主目录大小大于1Mb的⽂件,c表示character,字节
"find ~ -size +10 -print"  寻找主目录下长度超过10块的文件(1=512字节)并打印出来
"find ~ -size +10 -exec ls -l {} \;"  寻找主目录下长度超过10块的文件,都详细列出来
## 文件查找检索(find,grep)
```python


"""
	文件的检索grep
"""
"grep 'feng' t*"	显示所有以t开头的文件中包含feng的行
"grep 'feng' t* work/try2.txt"	显示所有以t开头的文件中包含feng的行(当前操作ls只有一个work文件夹,里面有try2.txt这个文件,文件有feng内容)
"grep 'feng' aa bb cc" 显示在aa,bb,cc⽂文件中匹配feng的⾏
"grep 'feng' t* -r -n"	显示当前文件夹下所有以t开头的文件中包含feng的行,并返回它的行,冒号隔开,如:2:feng
"grep 'feng' t* -r -n code/"	从当前文件夹下以t开头的文件中包含feng的行并返回它的行,冒号隔开,加上当前文件夹下code目录下文件中(不一定以t开头的文件名)找到feng的内容,返回行号,-r表示递归,可以放在code/后面
"grep 'feng' t* -r -n code/try2.txt"  作用同上,只是在code文件夹下的try2.txt文件中找

"-h"	不显示⽂文件名
"-r"	表示递归
"-n"	在每一⾏前面加上它在⽂件中的相对行号
"-v"	反向查找,只显示不匹配的⾏
"-i"	⽐较字符时忽略大小写的区别

"vi /etc/host.conf"		执行这句命令后输出以下三行内容,输入":q"退出
# The "order" line is only used by old versions of the C library.
order hosts,bind
multi on

"grep '#' /etc/host.conf"  输出包含以"#"开头的行
order hosts,bind
multi on
"grep -v '#' /etc/host.conf"	输出不包含以"#"开头的行
"ls -l | grep '^d'"	  通过管道过滤ls -l输出的内容,只显示以d开头的行
"ls -l | grep '[a-z]'"	通过管道过滤ls -l输出的内容,只显示以a到z的行

打包、压缩



连接阿里云服务器

"""
	云平台或者本机与阿里云服务器连接,需要用sshd
"""
"sudo apt-get install openssh-server"	连接需要安装sshd
"sudo ps -e |grep ssh"	观察是否有sshd,说明ssh服务已经启动
"sudo service ssh start"	启动sshd

bebot

"history > history_f" history_f 任意名字
"history 20" 列出最近的20条命令
"lsof -i :9300"    知道9300端口被哪个进程占用
"vi" 相当于windows的记事本,和vim类似,vim是升级版,程序编辑器,以不同颜色显示。
"ps -ef|grep python" 显示系统进程的命令ps. 首先系统会列出当前系统中所有运行的应用程序(包括前台运行与后台运行的)。然后将输出的结果通过管道符号|传递 给命令grep。然后命令grep就会在ps命令输出的结果中查找是否有python这个程序运行的信息。如果有的话,则会在窗口中显示这个程序的信 息,而过滤掉其它应用程序的运行信息。可见采用管道符跟其它查询命令结合,可以帮助系统管理员在最短的时间内找到自己想了解的应用程序的信息。
"locate Dialogue"  locate命令用于查找Dialogue的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
"cat flask_qa_SQ.py" cat快速将文件的内容输送到命令行中,不进入文件。
"netstat -tunlp|grep 8001" 查看8001(端口号)是否被占用
-t  或 –tcp 显示TCP 传输协议的连线状况。
-u 或 –udp 显示UDP传输协议的连线状况。
-n  或–numeric  直接使用IP地址,而不通过域名服务器。
-l  或–listening      显示监控中的服务器的Socket。
-p   或–programs      显示正在使用Socket的程序识别码和程序名称。

"sufo su" 以root权限
"exit" 退出root

"./ elasticsearch" 启动elasticsearch,显示其详细信息
"./ elasticsearch -d"  启动,不显示其详细信息

"locate -l 5 Dialogue" 找出系统中所有与Dialogue相关的档名,且只列出5个


程序xx.sh 放后台运行代码
"
# !/bin/bash
for i in $(seq, 1, 100);do
	# echo hello
	sleep 1
done
"
执行 "./ xx.sh &"
杀死后台进程:
	1. "kill %1" 1为job号 可通过jobs 或 jobs -l 查看
	2. "kill -9 5771" or "kill 5771" 5771 为job的进程号,可通过jobs -l 查看

杀死前台进程:"ctrl + c"
将后台进程转到前台进程: "fg 2" or "fg %2" 2为job号
将前台进程转到后台进程:
	 执行 "./ xx.sh"  
	 "ctrl + z" 挂起
	 "bg job号" or "bg ./xx.sh" 

"ln -s 源文件 目标文件" 做软连接
"ln -s /media/voyager/dcde9a6f-52cb-4c04-86ea-9edcf48f0a09/ work01"
"git clone https://github.com/yinmingjun/TinyBERT.git" git下载
"pip3 install -r ./requirements.txt" 安装

"cp -r /etc/ /tmp" :复制/etc/这个目录下的所有内容到/tmp底下(-r 递回持续复制,用于目录的复制行为;)
"cp -rf ~/Dialogue/ ./" 强制将主目录下的Dialogue文件夹及其所有内容复制到当前目录。
"chmod u+x ./xx.sh" 

"nohup python -u test.py > test.log 2>&1 &" 
“nohup” 表示程序不被挂起
2>&1 将标准输出流和错误输出流一起输送到test.log中
“-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)

从本地复制到远程
scp local_file remote_username@remote_ip:remote_folder 
举例:scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
或者 
scp local_file remote_username@remote_ip:remote_file 
举例:scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3

scp -r local_folder remote_username@remote_ip:remote_folder 
"scp -r chatter pi@192.168.1.189:/home/pi/work"  将当前的chatter文件放到机器人系统中

"scp -P 23456 pytorch_model.bin  voyager@219.142.19.98:/home/voyager/Dialogue/bert" 使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值