最近在用WSL来跑gpu-sim模拟器,因为本人之前对于Linux系统了解甚少,所以在使用Ubuntu的时候往往困惑于如何写命令。于是自己整理了一篇WSL常用指令,在之后的学习中,会不断把接触的新指令加入这篇博文。希望能够帮助到大家。
Linux文件系统的最顶层是根目录, / 表示的就是根目录,Linux一切文件都放在根目录下。
~ 是对当前用户主目录的简写,对于一般用户,主目录是 /home/用户名 ;对于root用户,主目录则是 /root 。
在Linux中一切内容都可以被看作文件,包括目录。
下面是我整理的Linux命令。
cd .. 回退到上一级目录
cd 进入当前用户主目录
ls [选项] [目录]
ls 显示当前目录下的可见文件
-a 显示隐藏的文件
-l 每行只列出一个文件
mkdir A 创建目录A
mkdir A/B 为目录A创建子目录B
rmdir 删除空目录,只能删除空的目录
pwd 查看当前目录的绝对路径
touch 1.txt 创建文件1.txt
rm [选项] 文件名或目录名
-r 递归删除目录及其内容
-f 强制删除
-i 逐一提示用户确认每个将要被删除的文件
rm 1.txt 删除文件1.txt
rm -f 1.txt 强制删除一个文件
rm -rf A 删除一个文件夹
cp [选项] 源文件或目录 目标路径
-r 递归复制目录及其子目录下的所有内容
cp 1.txt dir/ 将1.txt文件复制到dir目录下
mv [选项] 源文件或目录 目标路径
-r 递归移动目录及其子目录内的所有内容
diff [选项] 文件1 文件2
-b 不检查空白字符的不同
-B 不检查空行
-q 仅显示有无差异,不显示详细信息
cat 1.txt 输出1.txt文件中的内容
clear 清屏
history 查看历史命令
上述是一些基础的Linux操作,下面再补充一点笔者在OS课程中学到的Linux操作补充。
find -name 文件名
可以在当面目录下递归查找符合文件名的我呢见,并将文件的路径输出到屏幕上
grep -选项 PATTERN FILE
选项:
-a 不忽略二进制数据进行搜索
-i 忽略大小写差异
-r 从目录递归查找
-n 显示找到的内容所在行号
-P 大写P,启用正则表达式
-o 只输出文件中匹配到的部分,默认输出整行
-A 2 输出包含匹配项的行以及其后两行
-B 2 输出包含匹配项的行以及其前两行
其中PATTERN可以为字符串或正则表达式,其中PATTERN两边不一定需要单引号或双引号
例如:grep -n "int" test.txt,则其会将test.txt文件中包含int所在的行以及其行号输出到屏幕
例如:grep -P "(\d)" test.txt,使用正则表达式来匹配目标行
diff -选项 file1 file2
选项:
-b 不检查空白字符的不同
-B 不检查空行
-q 仅显示有无差异,不显示详细信息
sed -选项 '命令' 输入文本
选项:
-n 安静模式,只显示经过sed处理的内容。否则显示输入文本的所有内容
-i 直接修改读取的内容,此时没有输出
命令:
例如:sed -n '3p' file 输出file的第三行
sed '3p' file 将file的内容输出一遍,再追加输出第三行
sed '2d' file 除了第2行,其余行输出到屏幕上
sed -i '2d' file 删除第2行,不会输出内容
sed -i 's/str1/str2/g' file 将所有的str1替换为str2,若没有g,则只替换每行的第一个str1
sed -e '4astr' -e 's/str1/str2/g' file -e选项允许在同一行里执行多条命令。其中第一个
命令是在第4行后添加一个str
awk
例如:awk '1{print}' file 输出file中的全部内容
awk 'NR>1&&NR<3 {print}' file 输出file中大于第1行小于第3行的行
awk -F ':' '{print $2}' file 以:为分隔,输出每行中第2个字段
希望能够帮助到大家~~~