Linux笔记

shell命令

基础命令

man/info [prog]:查看帮助文档

echo xxxx:输出信息到控制台

sleep Number [单位(s)]:让系统休眠Number时间(默认是:s)

ps:显示当前进程状态

shutdown:关机

reboot:重启(shutdown -r now

pwd:显示当前路径

cd <dir>:切换目录

ls [-a] [-lh] [file...]:列出当前目录下的文件(默认是所有文件)

-a:显示隐藏文件和文件夹

-l:将文件的详细信息都列出来(文件操作权限、创建用户、文件大小、上次修改时间...)

-lh(相当于ls -l -h):在前面-l命令的基础上以人类可读的形式展示信息(文件大小用K、M等表示)

alias <new_order>=<expression>:起别名,将一个命令表达式<express>命名为<new_order>

mkdir <new_dir>:新建文件夹

touch <new_file>:新建文件

rm [-i] [-f] [-r] <file>:删除文件

-i:交互模式,在删除文件前询问用户(一般会设置alias rm='rm -i'

-f:强制删除文件,忽略不存在的文件

-r:递归删除文件夹及其子文件夹和文件

rmdir <empty_dir>:删除空文件夹

ln [-s] <src> <des>:链接

-s:软链接(相当于Windows中的快捷方式,当源文件被删除后,目标文件不可用)

-s时是硬链接,相当于复制源文件到目标文件

cat [-n] [-b] <file>:将文件中的字符输出到终端

-n:在每行输出前面添加行号

-b:与-n类似,但只对非空行前面添加行号

head [-c <number>] [-n <number>]:显示文件头部的部分内容

-c <number>:显示文件前面<number>字节的内容

-n <number>:显示文件前面<number>行的内容

解压缩命令:

unzip xxx.zip:解压xxx.zip文件

tar -zxvf xxx.tgz:解压xxx.tgz文件

tar: 处理归档文件

z: 使用gzip程序来解压缩

x: 表示解压缩(extract)

v: 解压缩是显示详细信息(verbose)

f: 表示后面跟着的是文件名

压缩命令:

tar -czvf xxx.tar /path/of/directory:压缩目录位xxx.tar压缩文件

c: 表示创建归档文件(create)

test命令

数值测试

参数 说明
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真
# 示例
num1=100
num2=100
# 可以简写成:`if [ $num1 -eq $num2 ]`
if test $num1 -eq $num2
then
	echo "Equal!"
else
	echo "Not Equal!"
fi

文件测试

参数 说明
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真
if test -e <filename>
# 可以简写成:`if [ -e <filename> ]`
then
    echo '文件已存在!'
else
    echo '文件不存在!'
fi

grep命令

流式控制

if

if <condition1>
then
	<command1>	
	<command2>
	...
elif <condition2> ;then  # 当关键词写在一行时需要分隔符`;`
	<command3>
	...
else
	<commandN>
fi

管道

使用符号 | 表示

# example
echo "hello world" | head -c5
# out: "hello"

管道相当于将前面命令输出的结果送到后面的命令中作为输入,并且可以叠加多个管道

重定向

vim

sudo apt install vim:安装vim编辑器

vim <file>:使用vim编辑器编辑文件

详细教程可参考博客:https://www.cnblogs.com/scy157609962/p/18547210

ssh

  1. 安装ssh工具

    sudo apt install openssh-server

    sudo systemctl start ssh

    sudo systemctl enable ssh:设置ssh服务自启动

    sudo ufw allow ssh

    sudo ufw reload:添加防火墙配置

  2. 创建ssh key

    ssh-keygen -t rsa [-C "comment"]

    cat ~/.ssh/id_rsa.pub

    ssh -T <username>@<ip>:测试ssh连接是否成功

    如果是在GitHub上添加ssh key,则命令是:ssh -T git@github.com

  3. 利用ssh key连接远程服务器(不需要验证登录密码)

    ssh-copy-id [-i <ssh_public_key_file>] <username>@<ip>:将本地ssh公钥复制到服务器上

  4. 删除旧的密钥条目:

    ssh-keygen -R <ip_address>

git

参考博客:https://www.cnblogs.com/scy157609962/p/18310873

进程查询

sudo netstat -tulnp | grep :<port>

sudo kill -9 <PID>:杀死指定进程

VMWare虚拟机软件

Ubuntu虚拟机中挂在共享文件夹

  1. 在虚拟机设置中启用共享文件夹,并添加主机文件夹路径

  2. Ubuntu中挂在共享文件夹,运行命令:

    sudo umount /mnt/hgfs

    sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=0 -o gid=0 -o umask=022

Docker

https://713.subts123.icu/api/v1/client/subscribe?token=efd64a8f64d20145d6400a9ce561df82

CUDA

清理CUDA缓存:

fuser -v /dev/nvidia* | awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
posted @ 2024-07-25 09:47  MaximeSHE  阅读(12)  评论(0编辑  收藏  举报