Linux 基础

一、Linux 常用命令

文件、路径操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 获取当前目录
current_directory=$(pwd) # Linux
current_directory = os.getcwd() # Python

# 创建文件、目录、删除、重命名
touch file.txt ; mkdir dir
rm file.txt ; rm -r dir
mv old_name new_name

# 查看文件
cat file.txt
cat file.txt | grep "keyword"
head -n 10 file.txt ; tail -n 10 file.txt

# 查找,find+路径+-name+匹配文件名
find . -name *.py

# 查找,grep+字符+文件路径,显示第一行
grep LOOP OUTCAR | head -n 1

批量替换常用关键参数,sed -i ‘s/模式/替换/‘ file

1
2
3
4
5
# sed -i 表示原地编辑不在终端输出,'.*'表示任意字符重复零次或多次,
# \(.*\): 捕获从行首到第一个出现的 F F F 之前的所有字符,并将其存储在第一个捕获组 \1 中。
sed -i 's/IBRION =.*/IBRION = 2/' */INCAR
sed -i 's/NCORE =.*/NCORE = 12/' */INCAR
sed -i 's/^\(.*\)F F F\(.*\)$/\1F F T\2/' */POSCAR

文件压缩、解压

1
2
3
4
5
6
7
# -z: 使用 gzip 解压缩归档文件; -c/x: 打包/提取归档文件;-v: 显示详细信息,处理文件时显示文件名(可选);-f: 指定归档文件的名称
tar -zcvf file.tar.gz file.txt # 压缩
tar -zxvf file.tar #解压缩

# -r: 递归处理
zip -r html.zip /home/html
unzip html.zip

磁盘管理,文件数量

1
2
3
4
5
6
7
8
9
10
11
12
# -h:使用 KB、MB、GB 等单位输出
# 查看文件系统整体磁盘使用情况
df -h

# 查看目录所占磁盘空间
du -h ./test

# 查看当前目录下文件数量,wc --l 统计行数
ls -l | grep '^-r' | wc --l

# 查看当前目录下目录数量,wc --l 统计行数
ls -l | grep '^d' | wc --l

文件权限操作(change mode)

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
chmod
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
limit
改变权限:

1
2
3
4
chmod 644 file.txt
chmod 777 file.txt
chmod +rwx file.txt
chown user file.txt # 改变文件所有者

获取当前目录下的所有子目录

1
2
3
4
# 查找所有一级子目录,-maxdepth 1 表示只查找一级子目录,! -name '.' 表示排除当前目录
find . -maxdepth 1 -type d ! -name '.'
# 查找所有一级子目录
ls -d */

读取输入内容

1
2
read Value	#Linux
Value = input("") #Python

二、Linux 目录结构

文件系统层次结构标准

Filesystem Hierarchy Standard

  1. https://blog.csdn.net/Ph_Nirvana/article/details/62427684
  2. https://blog.csdn.net/m0_38044196/article/details/72844025
  3. 文件系统层次结构标准 - 维基百科,自由的百科全书 (wikipedia.org)
目录 说明
/ 整个文件系统层次结构的根目录
/bin/ 需要在单用户模式可用的可执行文件
/boot/ 引导程序文件
/dev/ 必要设备
/etc/ 特定主机,系统范围内的配置文件
/home/ 用户的家目录,包含保存的文件、个人设置等,一般为单独的分区
/lib/ /bin/ 和 /sbin/中二进制文件必要的库文件
/mnt/ 临时挂载的文件系统
/opt/ 可选应用软件包
/proc/ 虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载
/root/ 超级用户的家目录
/sbin/ 必要的系统二进制文件,例如: init、 ip、 mount
/tmp/ 临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留
/usr/ 用于存储只读用户数据的第二层次
/var/ 变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。

二、服务器管理

PBS命令

超线程

http://sobereva.com/392

参考资料

  1. https://www.runoob.com/linux