一、Linux相关的内容
1、关于目录结构
Windows可有多个顶级目录,但Linux只有一个顶级目录:根目录“/ ”,所有的文件都在它下面
路径之间的层级关系:Windows用:\\ 表示;Linux用:/ 表示
HOME目录:每个Linux操作用户在Linux系统的个人账户目录,一般路径为/home/用户名
一般登陆上服务器或者集群时,默认所处的目录为用户的个人HOME目录
如果服务器或者集群有公共的软件需要使用,则需要返回到根目录下去找
相对路径和绝对路径:
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以 / 开头
如:目前在任意路径下,进入work目录使用绝对路径 :cd /home/software/work
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以 / 开头
如:目前所处位置为software目录,进入work目录使用相对路径:cd software/work
特殊路径符:
. :表示当前目录
.. :表示上一级目录
~ :表示HOME目录
2、各类基础命令
命令通用格式:commard [-options] [parameter]
commard:命令本身
-options:命令的一些选项,可以通过选项控制命令的行为细节(可选,非必填)
parameter:命令的参数,多数用于命令的指向目标等(可选,非必填)
ls命令:ls [-a -l -h] [Linux路径] (以一定形式显示路径目录里的内容)
ls :以平铺形式,列出当前路径目录下包含的内容
ls [Linux路径]:以平铺形式,列出 [Linux路径] 目录下的内容
-a :表示all的意思,列出全部文件(包括隐藏文件/文件夹【以 . 开头的文件】)
-l :表示以列表(竖向排列)形式展示内容,并显示更多信息
-h :表示以易于阅读的形式,列出文件的大小,如K、M、G(该选项必须和 -l 一起使用)
命令的选项可以组合使用,例如:ls -alh / ls -a -l -h/ ls -lha (三种写法均可)
du命令:查看文件内存大小
-s :–summarize 计算文件总内存
-h :–human-readable 以人可读的格式输出大小(例如: 1K 234M 2G)
du 文件目录 -sh:查看文件目录总的内存大小(参数在前在后都可以)
du 文件目录 -h:递归显示每个文件的内存大小(参数在前在后都可以)
cd命令:cd [Linux路径](切换工作目录Change Directory)
cd : 表示回到用户的HOME目录(不加参数)(该命令等于:cd ~)
cd [Linux路径]:表示切换到【Linux路径】下(加上参数)
cd ./A :表示切换到当前目录下的A文件夹中(该命令等于:cd A)
cd .. : 返回上一级目录( .. 表示上一级目录)
cd ../.. :返回上二级目录
cd / : 返回根目录
pwd命令:pwd(无选项,无参数,表示查看并显示当前工作路径Print Work Directory)
mkdir命令:mkdir [-m -v -p] Linux路径(创建新的目录/文件夹Make Directory)
mkdir 文件夹名 : 在当前目录下创建一个名为“文件夹名”的文件夹,这里为相对路径
mkdir /home/文件夹名:在home目录下创一个名为“文件夹名”的文件夹,这里为绝对路径
mkdir 名1 名2 :当前目录下创建多个文件夹
-m :设定权限模式,后面跟777代表有读写执行rwx权限
-v :创建新目录会返回信息
-p :表示自动创建不存在的父目录,适用于创建连续多层级的目录
mkdir -p A/B :A,B文件夹本来是没有的,通过-p选项可以创建不存在的父目录
这里表示当前目录下创建了一个A文件夹,在A文件夹下又创建了B文件夹
(创建文件夹需要在自己的HOME目录下,其他路径下会被限制权限)
rmdir命令:rmdir <文件夹名> (删除文件夹)
mv命令:mv 源文件名 目标文件名
为文件或者目录改名,或者将文件由一个目录移动到另一个目录中
mv /usr/A /usr/B :移动A目录到B目录(或者将A目录重命名为B目录)
mv /usr/A/* /usr/B : 移动A目录里的全部内容到B目录下
cp命令:cp 源文件名 目标文件名 (复制文件或者目录)
cp A的目录/. B的目录/ :复制A目录下的所有文件到B目录下
rm命令:rm [-r -f] 文件名 (删除文件或者目录)
-r :指示将参数中列出的全部目录和子目录递归删除
-f :就是force的意思,忽视不存在的文件,不给予提示
rm -rf 文件夹名 : 删除文件夹及其内容,不提示警告信息
grep命令:grep [-v -n -i -r -l -c] 待查找指定样式内容 文件名/目录
用于查找内容包含指定样式的文件(重点是查找文件内的内容,而不是在目录中找文件)
-v :显示不包含匹配文本的所有行
-n :显示匹配行的行号和内容
-i :忽略大小写进行匹配
-r :递归查找子目录中的文件
-l :只打印匹配的文件名
-c :只打印匹配的行数
grep -r -n ego ./ :在当前目录下递归查找文件中有ego的文件,并打印文件中ego所在行和内容(可能输出:./A/a.txt:4:am.egos)
grep ego *.py :在当前目录下查找后缀名为py的文件中包含ego字符串的文件,并打印该字符串的行(可能输出:./a1.py:segoo.l)
find命令:find 查找路径 [-name -user] 查找文件名
-name :按文件名查找,支持通用符*
-user :按文件所有者查找
find ./ -name a.txt :将当前目录及其子目录下所有文件名为a.txt的文件列出来
find ./ -name " *.py" :将当前目录及其子目录下所有文件后缀名为.py的文件列出来
find ./ -user qname :在当前目录及其子目录下查找由qname创建的所有文件,并列出来
head命令:head [-c -n] N 文件名 (默认N=10,查看文件的开头部分内容)
-c N :显示文件前N个字节内容
-n N :显示文件前N行内容
head a.txt :默认查看a.txt前10行内容
head -n 5 a.txt = head -5 a.txt :查看a.txt文件前5行内容
tail命令:tail [-n -f] [+N -N] 文件名 (默认显示文件的10行尾部)
-n :显示文件尾部内容
-f :如果文件内容被追加,会继续显示被追加的内容,直到键入Ctrl +C
tail -n +2 a.txt :显示a.txt文件第2行开始到尾部的所有内容
tail -n -2 a.txt = tail -2 a.txt :显示a.txt文件最后2行的内容
wc命令:wc [-c -w -l -L] 文件名 (统计计算文件的字节数、字数、行数)
-c :统计文件字节数
-w :统计文件单词数
-l :统计文件的行数
-L :统计文件最长行数的长度
wc -c a.txt :输出a.txt文件的总字节数
bc命令:任意精度计算器语言,它类似基本的计算器, 使用这个计算器可以做基本的数学运算
1、直接计算
$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 2+3 5
2、通过管道计算
$ echo "15+5" | bc #计算加法 20
$ echo 'scale=2; (2.777 – 1.4744)/1' | bc #保留两位小数 1.30 $ echo "10^10" | bc #计算平方 10000000000 $ echo "sqrt(100)" | bc #计算平方根 10
文件打包、【压缩、解压缩】命令:tar 、【gzip、gunzip、bzip2、bunzip2】
1、打包tar:将多个文件变为一个总的文件: tar [-c -v -f -z -j -x] 文件名
-c :创建新的档案文件
-v :详细报告tar处理的文件信息
-f :使用档案文件或设备,通常必选
-z :调用gzip命令来压缩或解压缩文件
-j :调用bzip2命令来压缩或解压缩文件
-x :从备份文件中取出文件
tar -cvf D.tar ./A :将A文件夹打包为一个总的文件,并命名为D.tar
tar -xvf D.tar :将D.tar解开到当前目录下
gzip D.tar :将打包好的文件D.tar进行压缩,生成扩展名为.gz后缀的文件
bzip2 D.tar :将打包好的文件D.tar进行压缩,生成扩展名为.bz2后缀的文件
tar -zxvf D.tar.gz :解压缩 D.tar.gz文件
tar -jxvf D.tar.bz2 :解压缩 D.tar.bz2文件
2、压缩gzip、bzip2 | | 解压缩gunzip、bunzip2 :将大文件压缩为小文件/小文件解压缩为大文件
- 文件后缀为.gz,使用gzip [-d -r -t] / gunzip 文件名(使用该命令压缩文件后,原文件自动删除,一次只能压缩一个文件)
-d :对文件进行解压缩 gzip -d = gunzip
gzip -d a.txt.gz = gunzip a.txt.gz :对a.txt.gz文件解压缩
- 文件后缀为.bz2,使用bzip2 [-d -r -k -z -t] / bunzip2 文件名(使用该命令压缩文件后,原文件自动删除,一次只能压缩一个文件)
-d :对文件进行解压缩 bzip2 -d = bunzip2
-k :压缩文件并保留原文件
-z :强制进行压缩
bzip2 -k a.txt :对a.txt文件进行压缩,并保留原文件
二、服务器相关的内容:
1、更改普通用户登入目录
参考文章Linux | 修改用户默认路径:
vi ~/.bashrc #进入.bashrc文件,在最后添加以下内容
cd /想要登入的路径/ ( 例如:cd /spt/newname/ )
source ~/.bashrc #重新加载登入
2、在两个服务器间传文件
scp 当前服务器文件路径 /文件名 目标服务器名@地址:目标路径(移动目录需要加-r)
- 传送服务器A里的文件/user/temp/a.txt到服务器B(root@127.22.45)的路径/opt/下:
scp /user/temp/a.txt root@127.22.45:/opt/
- 传送服务器A里的文件夹/user/temp到服务器B(root@127.22.45)的路径/opt/下:
scp -r /user/temp root@127.22.45:/opt/
后续需要输入服务器B的登入密码,按enter键开始传输
3、从网页下载文件
- 从网页下载文件到当前目录:wget "网页中的文件链接"
(例如下载安装包:wget "https://www.openmx-square.org/bugfixed/21Oct17/README.txt")
- 将文件下载到指定目录下:wget 目录 "网页中的文件链接"
(例如:wget /home "https://www.openmx-square.org/bugfixed/21Oct17/README.txt")
4、查看完整CPU详细信息
查看当前内存大小及使用情况:free -h (-h 以人类可读的方式显示,即后边会自动带上单位)
5、查看GPU的状态
ixsmi 或者 nvidia-smi或者nvcc –version
6、集群查看任务
查看提交作业的排队情况 : squeue
查看指定用户提交作业的情况 : squeue -u 用户名
取消作业ID为123的作业 :scancel 123
取消指定用户的全部作业 :scancel -u 用户名
取消自己上机账号上所有状态为PENDING的作业:scancel -t PENDING -u 用户名
7、Linux查看版本信息
#显示Linux版本和当前操作系统内核信息
uname -a
#查看系统的IP地址
ifconfig(更多信息:查看网卡信息:ifconfig命令及详细介绍-CSDN博客)
8、普通用户–root用户
#切换root权限,需要输入root密码
sudo su root
#退出root权限
exit
#创建普通用户,需要为新用户设置密码
adduser 用户名
#创建的文件foldername授权给指定用户username
sudo chown -R username:username foldername
#-R参数表示递归处理所有子文件夹和文件,将其授权给指定用户;username为要授权的用户,后面的username表示用户所在的组;foldername为要授权的文件夹
关于pip:
显示该安装的包的相关信息:pip show 安装包的名字(包括它的安装路径。实际上包通常被安装在python安装目录下的lib\\site-packages目录下)
显示已安装包的信息:pip list(包名与版本号)
评论前必须登录!
注册