命令主机间文件复制
上传
scp -r category 用户名@ip:~/file
下载
scp -r 用户名@ip:~/file category
-
只是将cp换为scp,远程的目录前加上
用户名@url:
注:在上传完成之后查看一下大小 ls -ahl
如果大小与实际不符可能因为网络等原因出错,无法进行查看解压:
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
在线下载数据文件
wget -c http://the.url.of/incomplete/file
滚来滚去……~(~o ̄▽ ̄)~o 。。。滚来滚去……o~(_△_o~) ~。。。 滚来滚去……~(~o ̄▽ ̄)~o 。。。滚来滚去……o~(_△_o~) ~。。。
使用细节操作
关闭端口
netstat -anp |grep 端口
得到:
tcp 0 0 ***.**.***.**:端口 ***.**.***.**:***** ESTABLISHED 51137(这个是PID)/node
使用命令:
kill -9 PID
ls -l /proc/PID | grep "cwd"
Linux基本操作
操作
echo 命令 :内容输出到屏幕
echo $CUDA_VISIBLE_DEVICES
文件查看
-
只显示部分结果
ls | head -n 20
, 以 abc开头的
ls ^C grep "^abc
-
stat ***.pt
查看某个文件的状态 -
date
时间查看
tree
-
安装
sudo apt-get install tree
-
使用
tree
文件处理总结:
文件的查看,查找,创建,合并,删除,权限管理
pwd print working direction 打印工作路径(pwd 当前位置)
cd 改变路径
find / -name passwd
ls –a list以列表的方式显示目录信息
对应于windows是dir命令,并且本文给出了在win中使用ls的方法
mkdir my
cd / my
touch name.txt
vi name.txt (more cat 命令)
grep oneword name.txt
cat name.txt 合并文件或以全屏显示
more name.txt 分屏显示 空格下一屏回车下一行
复制剪切
移动文件
mv name.txt ../ # 剪切:mv 文件名 路径
cp name.txt ../ # 复制:cp 文件名 路径 cp ./out*/*.json ./out
移动文件夹
mv /name ../ # 剪切:mv 文件名 路径
cp /name ../ # 复制:cp 文件名 路径
移动文件夹中的所有文件
mv /name/* ../ # 剪切:mv 文件名 路径
cp /name/* ../ # 复制:cp 文件名 路径
删除文件,文件夹
rm name.txt
rm -r dirname
rm -rf * 表示删除当前目录下的所有文件
# - f force 强制(忽略不存在的文件,不给出提示)
# - r 递归删除子文件夹
rmdir myemptydir 删除空的目录
cp /etc/profile(来源档) copy(目标档)
chown bob:users test.txt 文件所有者bob所有组users
(chgrp root test.txt)
chmod 664 libai.txt 充满电 文件权限管理其顺序是(u ser)(g roup)(o ther)
对于chmod +x file 来说就是将file改为可执行状态,在linux因高亮语法,会让file文件显示绿色。对于灰色的文件来说,没有可执行的权限,这是若我们给它chmod +x后它将会变为可执行的绿色文件。
chmod 777的语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
范例:
chmod a=rwx file 和chmod 777 file效果相同
chmod ug=rwx,o=x file和chmod 771 file效果相同
若用chmod 4755 filename可使此程式具有root的权限
————————————————
版权声明:本文为CSDN博主「一只心比天高的蚂蝗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42982742/article/details/103690119
文件或磁盘查看(disk usage , disk free)
ls -al | 显示所有文件及目录 详列信息 |
---|---|
ls -lht | 详细,可读,时间排序 |
ls -lhtr | 详细,可读,时间排序,反序 |
ll | ll实际上是ls -l的一个别名 |
du -sh * | disk usage命令用于显示目录或文件的大小 |
–summarize –human-readable | |
du -sh * | sort -n | |
du -sk filename | |
du -ah * | 详列文件夹中每个文件的占用空间 |
du -h –max-depth=1 | sort -hr | 所有包括隐藏文件夹的大小(–max-depth=1 没有空格) |
df -h | 磁盘剩余空间,df即disk free |
ls -l | grep “^-” | wc -l | 查看当前文件夹下有多少个文件 |
ls -l | grep "^-" | wc -l
[在 Linux 中通过“df”命令了解您的磁盘空间](https://bynss.com/linux/607441.html)
[隐藏文件查看](https://jingyan.baidu.com/article/154b4631829c6368cb8f4100.html)
linux 查看隐藏文件
- 文件颜色
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
【DiskGenius软件如何查看电脑硬盘的SMART信息】https://mbd.baidu.com/ma/s/dLBi1pW0
【linux smartctl 命令,Linux smartctl命令_Lee General的博客-CSDN博客】https://mbd.baidu.com/ma/s/WVBywady
文件系统和磁盘管理:
磁盘分区:
fdisk -l 查看系统分区情况
进入分区界面:fdisk /dev/sdb
m 进入帮助
e extended ——新增扩展分区
p primary partition ——新增主分区
t 改变分区的类型
d 删除分区
w 保存操作并退出
创建文件系统:
一个分区或磁盘在作为文件系统被使用之前,先要初始化以将记录数据结构写入磁盘上,这个过程叫做建立文件系统。
mkfs [-v] [-t fstype] [fs-options] device [size]
- mount [-t fs-type] device mountpoint
- umount device mountpoint
挂载新的磁盘
lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
$lsblk(查看挂载) 或 fdisk -l
$ sudo mkdir data
$ sudo mount /dev/*** /***/data
$ sudo umount /***/data
文件压缩
zip -q -r output.zip /output (-q不显示过程)
zip -r bitvolution.zip bitvolution -x ".git" (-x除去某个目录)
# 将压缩的文件分割为20GB每个 https://www.computerhope.com/unix/zipsplit.htm
zipsplit -n 21474836480 data.zip
tar zcvf FileName.tar.gz DirName
(base) []$ tar czf - output/ | split -b 10G - o.tar.gz
cat name.tar.gza[a-c]|tar xvf -
[如何解压linux下tar.gzaa压缩文件格式](https://www.linuxdiyf.com/linux/25421.html)
或者直接合并再解压
[@username]$ cat oy.tar.gza* >> oy.tar.gz
文件解压命令总结
.tar.gz
和.gz文件解压
格式 | 命令 | 解压示例 | 压缩代码 |
---|---|---|---|
*.zip | unzip | unzip output.zip | zip -q -r output.zip /output (-q不显示过程 , -r循环子目录) |
tar | tar | tar –xvf file.tar |
tar -cvf data.tar ./data/ |
.tar.gz& .tgz |
tar -xzf | tar -xzvf test.tar.gz | |
*.tar.bz2 | tar -xjf | ||
*.gz | gzip -d | gzip -d test.gz | |
.xz | xz -dk **.xz | abc.tar,xz 可先解压到tar,在用tar -xvf 解压 | |
*.Z | uncompress | ||
*.tar | tar -xvf | ||
*.tar.Z | tar -xZf | ||
*.bz2 | bzip2 -d | ||
*.rar | unrar e |
处理rar需要预先下载程序 |
[SCP 命令](https://www.cnblogs.com/likui360/p/6011769.html)
[常见的文件压缩格式各有什么优缺点?](https://www.zhihu.com/question/307387325)
更多相关:
[tree命令](https://www.runoob.com/linux/linux-comm-tree.html)
linux使用----bash: tree: command not found ——》yum -y install tree
[Linux复制某个目录下结构](https://www.cnblogs.com/quanbisen/p/12995336.html)
[bypy安装和使用](https://blog.csdn.net/qq_35425070/article/details/96577512)
[ubuntu安装和使用bypy下载百度云大文件](https://blog.csdn.net/sunsunla/article/details/88966135?)
pushd,popd,dirs
假设我们当前的工作目录是 /home/user/Documents,我们想要进入 /var/log 目录并执行一些命令,然后回到之前的工作目录。我们可以使用 pushd 命令来实现:
$ pushd /var/log
/var/log /home/user/Documents
# 查看现在目录栈元素
$ dirs -v
# 在 /var/log 目录下执行一些命令
$ ls -l
# 回到之前的工作目录
$ popd
/home/user/Documents
在上面的例子中,我们首先使用 pushd 命令进入 /var/log 目录,并将其添加到目录栈中。pushd 命令还会输出目录栈的内容,显示当前目录和之前的工作目录。然后我们在 /var/log 目录下执行一些命令,最后使用 popd 命令回到之前的工作目录。popd 命令会从目录栈中弹出 /var/log 目录,并将其作为当前工作目录。
历史处理
使用history 命令可以查看历史纪律:
history
比如可以看到之前用过的命令:
vi load.py/
history -c 可以在控制台清空之前使用过的命令
这时你执行过的命令就清除了
实际上执行命令的历史存在于
~/.bash_history
或
root/.bash_history
中,可以使用 vim ~/.bash_history 进行处理
修改完执行:history -r
读取历史文件并将其内容添加到历史记录中,即重置文件里的内容到内存中
i或a命令进入可编辑状态
要保存文件,请按esc,
英文模式输入 :
然后输入 wq 退出
进程:
yes
<ctrl+z> | 暂停(fg ,继续) |
---|---|
<ctrl+c> | 终止 |
ps | 查看当前窗口的进程 |
kill -9 | 彻底杀死进程 |
之前写了一个代码,在循环中间有一个time.sleep(10),结果运行时每次ctrl+c终止的都是终止了sleep ,最后用kill命令终止
ps进程查看
ps -aux # 可能查看到其他人的进程信息
ps -u username #查看username的进程信息
ps aux
显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和它启动的时间(u)
kill -l显示kill 能发送的信息种类, 通过进程号(ps)终止进程,
top用于实时监控进程。top 命令用于读入计算机系统的信息
bg 后台执行;
jobs 查看后台;
fg 把作业放到前台执行
at用于在指定时刻执行指定的命令序列
#首先进入at编辑页面编辑完成后按Ctrl+D退出,输入的命令要使用绝对路径;cront ab
#也是用于在指定时刻执行指定的命令序列,但可以重复运行程序)
用户和组:
重要目录/etc/passwd、/etc/shadow、/etc/group
useradd a
passwd a
usermod –u 600 –g admin a usermod用于改变用户的属性 1-499为管理员权限
userdel a 删除所有用户的信息
groupadd –g 503 newgroup
gpasswd users
groupdel Students
groupadd users
gpasswd -a Bob Students/gpasswd -d Bob Students添加/删除成员
sudo工具的使用
参数:
星号(*):匹配零个或多个字符;
问号(?):匹配任何一个字符;
-h human 人类可读的打印
重定向
l
i
n
u
x
设计理念:任何东西都是一个文件
默认输入输出的位置
:
0
s
t
d
i
n
,
1
s
t
d
o
u
t
,
2
s
t
d
e
r
r
,
I
/
O
重定向可以将默认的输入输出改变
”
>
”
重定向符号
linux设计理念:任何东西都是一个文件\\ 默认输入输出的位置:\\ 0\ stdin, 1\ stdout ,2 \ stderr,\\ I/O重定向可以将默认的输入输出改变\\ “>”重定向符号
l
in
ux
设计理念:任何东西都是一个文件
默认输入输出的位置
:
0
s
t
d
in
,
1
s
t
d
o
u
t
,
2
s
t
d
err
,
I
/
O
重定向可以将默认的输入输出改变
”
>
”
重定向符号
> output.txt
ls > output.txt
如果执行得到“标准错误”,会输出到屏幕,还会清空outpt.txt
如果追加方式,使用
ls >> output.txt
重定向标准错误:
ls 2> output.txt
同时重定向标准输出与标准错误
ls > output.txt 2>&1
# 这个需要考虑错误信息的位置
# 使用以下方法
ls &> output.txt
ls 2>&1 | tee cur.log
cat movie.mpeg.0* > movie.mpeg
管道线 |(将一个命令的输出作为输入)
ls | less
将当前目录的文件名作为less的输入
ls | sort | less
排完序之后再进行查看
tee命令:如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了
安装chrome:
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- sudo apt-get install ./google-chrome-stable_current_amd64.deb
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install ./google-chrome-stable_current_amd64.deb
[暂停进程等快捷键](https://zhuanlan.zhihu.com/p/150076437)
[历史命令处理](https://www.cnblogs.com/yunwangjun-python-520/p/10812392.html)
一个查看网络的.bat方法,暂记在这:
@echo off
title "badaodechengxvyuan"
set INTERVAL=50
timeout %INTERVAL%
:Again
echo %date% %time:~0,8%
ping www.baidu.com
timeout %INTERVAL%
goto Again
%参考:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119024990%
%timeout /t 30 https://blog.csdn.net/l_o_s/article/details/103417243 %
% %0 -%9表示命令行参数,%0表示bat文件名本身,%1-%9表示其后的参数,如在cmd输入命令 test.bat 1 2。 %0就表示test.bat,%1表示test.bat的第一个参数“1”,%2表示"2"。 %
% https://zhidao.baidu.com/question/579297318.html %
% 如果一个名称用%括起来,那么就是用的它的赋值,而不是本身的字母。 %
% %%i 这种变量是for 语句里面 特有的变量(还有一种是外部变量,接受外部参数的格式是%1 -%9 共9个变量),只有在批处理里面才写 两个 %% 号表示变量,cmd中只用 一个 % 号。 %
% 反正只要你在批处理文件里面用 for,变量就用 %%。 %
% 比如echo time,echo %time% %
% 以上两个前者显示time这个字母,后者显示系统时间 19:42:12:02 %
% 还有%diskdiver%=系统盘等。 %
% 可以用set自己设定,有一些是系统默认的比容上面说的time;diskdiver。 %
% https://zhidao.baidu.com/question/52161355.html %
% 一、指代不同 1、%:表示变量的引用。 2、%%:只有在批处理里面才写 两个 %% 号表示变量,变量是for 语句里面 特有的变量。 %
% 二、用法不同 %
% 1、%:变量的引用@echo offset a=123 rem定义一个变量a 赋值为123echo %a% rem。 %
% 2、%%:for %%i in (1 2 3 4 5 ) do echo %%i,批处理中用两个 %%,其实是编译器编译的时候要屏蔽一个%。 %
% 更多:https://blog.csdn.net/albertsh/article/details/102985590 %
grep
grep是一种Linux/Unix命令,用于在文本文件中查找指定的字符串或模式。它的基本语法如下:
grep [options] pattern [file…]
其中,pattern表示要查找的字符串或正则表达式,file表示要查找的文件名。如果没有指定文件名,则默认从标准输入中读取数据进行查找。
常用的选项包括:
-i:忽略大小写
-r:递归查找子目录
-n:显示行号
-c:只显示匹配行数
-v:反向查找,即只显示不匹配的行
例如,要在文件test.txt中查找字符串”hello”,可以使用以下命令:
grep “hello” test.txt
如果要查找多个文件,可以在命令中指定多个文件名,例如:
grep “hello” file1.txt file2.txt
如果要递归查找子目录中的文件,可以使用-r选项,例如:
grep -r “hello” /path/to/directory
这将会查找/path/to/directory及其子目录中所有文件中的”hello”字符串。
统计当前目录下文件的个数(不包括目录) ls -l | grep "^-" | wc -l
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。
- 在历史命令中搜索 history | grep python
正则表达式
grep+正则表达式 | |
---|---|
^ | ‘^grep’匹配所有以grep开头的行。 |
$ | ‘grep$’匹配所有以grep结尾的行。 |
. | 匹配一个非换行符(‘\n’)的字符如:‘gr.p’ |
* |
匹配零个或多个先前字符 如:’ grep’ (注意 前有空格)匹配所有零个或多个空格后紧跟grep的行,需要用egrep 或者grep带上 -E 选项。 .*一起用代表任意字符。 |
[] | 匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。 |
[^] | 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep’匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。 |
(…) | 标记匹配字符,如’(love)’,love被标记为1。 |
< | 锚定单词的开始,如:'<grep’匹配包含以grep开头的单词的行。 |
> | 锚定单词的结束,如’grep>’匹配包含以grep结尾的单词的行。 |
x{m} | 重复字符x,m次,如:’o{5}’匹配包含5个o的行。 |
x{m,} | 重复字符x,至少m次,如:’o{5,}’匹配至少有5个o的行。 |
x{m,n} | 重复字符x,至少m次,不多于n次,如:’o{5,10}’匹配5–10个o的行。 |
\w | 匹配文字和数字字符,也就是[A-Za-z0-9],如:’G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。 |
\W | \w的反置形式,匹配一个或多个非单词字符,如点号句号等。 |
\b | 单词锁定符,如: ‘\bgrep\b’只匹配grep。 |
js中测试一下
linux之grep使用技巧
https://www.bilibili.com/video/BV1Kg411g7bC?
wc
https://www.runoob.com/linux/linux-comm-wc.html
客户端下载和
msi
下载的区别
https://client.arraynetworks.com.cn:8080/zh/troubleshooting
系统相关
查看GPU类型
$ lspci | grep -i vga
05:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
07:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
查看系统版本
-
cat /proc/version
Linux version 3.10.0-1127.19.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 25 17:23:54 UTC 2020 -
uname -m && cat /etc/*release
x86_64
CentOS Linux release 7.8.2003 (Core)
NAME=“CentOS Linux”
VERSION=“7 (Core)”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“7”
PRETTY_NAME=“CentOS Linux 7 (Core)”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:centos:centos:7”
HOME_URL=“https://www.centos.org/”
BUG_REPORT_URL=“https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=“CentOS-7”
CENTOS_MANTISBT_PROJECT_VERSION=“7”
REDHAT_SUPPORT_PRODUCT=“centos”
REDHAT_SUPPORT_PRODUCT_VERSION=“7”
CentOS Linux release 7.8.2003 (Core)
CentOS Linux release 7.8.2003 (Core)
BASH相关
Bash变量
- linux shell if [[ ! -z $1 ]];是什么意思
// https://blog.51cto.com/xoyabc/1622370
判断 $1 这个变量是不是空字符串
如果不是返回真
判断第一个参数不为空
!非
-z 在if里的意思是 空
$1 第一个参数
[ ! -z $1 ],这是需要返回一个值0或者1
最后结果是 if[1]或者if[0]
CG
-
使用 mlocate 查找文件
- md5sum unet.onnx