Linux 常用命令
快捷键
ctrl+a/Home:光标移至行首。ctrl+e/End:光标移至行尾。 ctrl+b:光标左移一个字符。ctrl+f:光标右移一个字符。 ctrl+h/backspace:删除光标前一个字符。ctrl+d/del:删除光标后一个字符或 exit、logout。 ctrl+k:剪切光标至行尾的内容。ctrl+u:剪切光标至行首的内容。 ctrl+w:剪切光标至前一个空格处的内容。alt+d:剪切光标至后一个空格处的内容。 ctrl+t:交换光标前的两个字符。 ctrl+y:粘贴或者恢复上次的删除。 ctrl+l:清屏,相当于 clear。 ctrl+s:使快速输出的终端屏幕停下来。ctrl+q:退出。 ctrl+p:上一个历史命令。ctrl+n:下一个历史命令。 ctrl+r:搜索之前的命令历史(ctrl+g 退出)。多次 ctrl+r 会一直向上搜索。 ctrl+d:相当于 exit 命令,退出当前会话。 ctrl+c:杀死当前进程。 ctrl+z:把当前进程转到后台运行,使用 fg 命令恢复。 ctrl+m/ctrl+o:等同 Enter 键。 ctrl+i:等同 Tab 键。 Ctrl+[:等同 Esc 键。 alt+b/esc+b:移动光标至当前单词的开头。 alt+f/esc+f:移动光标至当前单词的结尾。
base
# 获取函数返回值或者上一个命令的退出状态 md5sum -c --status filename.md5 echo $? # 获取结果的第 1 行,第 2 列 ps -ef | grep tomcat | sed -n '1p' | awk '{print $2}' ps -ef | grep tomcat | awk 'NR>=1' | awk '{print $2}' ps -ef | grep tomcat | grep -v 'grep.*color=auto' | awk '{print $2}' # 命令输出结果作为输入参数 ps -ef | grep tomcat | grep -v 'grep.*color=auto' | awk '{print $2}' | xargs kill -9
替换 apt 源:https://mirrors.ustc.edu.cn/help/ubuntu.html
# sources.list 格式 sudo sed -i -E 's@(deb|security|ftp).debian.org@mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list # DEB822 格式 sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list.d/ubuntu.sources
替换 yum 源
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # sudo mv /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup # sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo sudo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo sudo yum makecache
sudo
apt install -y sudo && usermod -aG sudo my # 不生成 ~/.sudo_as_admin_successful echo 'Defaults !admin_flag' | sudo tee /etc/sudoers.d/disable_admin_flag > /dev/null rm -rf ~/.sudo_as_admin_successful
debian 语言:https://www.debian.org/doc/manuals/debian-reference/ch08.zh-cn.html
sudo dpkg-reconfigure locales
ssh
sudo apt install -y openssh-server # 关闭 SSH 连接时的 DNS 解析 sudo sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config sudo sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config sudo systemctl restart sshd
环境变量
echo -e '\nexport PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> ~/.profile # 别名 echo -e "\nalias ll=\"ls -AlhX\"" >> ~/.bashrc
防火墙
sudo systemctl stop firewalld.service sudo systemctl disable firewalld.service
debian 网络:https://wiki.debian.org/NetworkConfiguration
sudo vim /etc/network/interfaces allow-hotplug eth0 iface eth0 inet static address 192.0.2.7/24 gateway 192.0.2.254 sudo systemctl restart networking sudo vim /etc/resolv.conf nameserver 192.168.1.1 nameserver 8.8.8.8 sudo systemctl status systemd-resolved sudo systemd-resolve --statistics # sudo resolvectl status sudo systemd-resolve --flush-caches
代理
# 允许局域网连接 export ALL_PROXY="http://192.168.124.4:7890" unset ALL_PROXY curl www.google.com
提示音
# 关闭系统提示音 sudo sed -i 's/# set bell-style none/set bell-style none/g' /etc/inputrc # 关闭 Vim 提示音 echo -e "set noerrorbells\nset visualbell\nset t_vb=" | sudo tee -a /etc/vim/vimrc.local > /dev/null
apt 安装软件
# 安装 vim,https://github.com/amix/vimrc sudo apt update sudo apt install vim -y # 安装 jdk8 sudo vim /etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/debian sid main sudo apt update sudo apt install -y openjdk-8-jdk # nodejs 和 npm,https://github.com/nodesource/distributions sudo apt install curl curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs npm config set registry https://registry.npmmirror.com # python sudo apt install -y python3-pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # man gcc sudo vim /etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/debian buster-backports main non-free contrib sudo apt update sudo apt install gcc-doc
apt 安装 nvidia 显卡驱动:https://wiki.debian.org/NvidiaGraphicsDrivers & https://www.nvidia.cn/drivers/lookup/ & https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/debian.html
sudo apt remove --autoremove --purge -V \*nvidia\* libxnvctrl\* \*nvidia\*:i386 sudo apt install linux-headers-$(uname -r) sudo dpkg -i nvidia-driver-local-repo-$distro-$version*_$arch.deb sudo cp /var/nvidia-driver-local-repo-$distro-$version/nvidia-driver-*-keyring.gpg /usr/share/keyrings/ sudo dpkg -i nvidia-driver-local-repo-$distro-$version*_$arch.deb sudo apt update sudo apt -V install cuda-drivers sudo apt -V install nvidia-driver-cuda nvidia-kernel-dkms sudo reboot sudo systemctl restart nvidia-persistenced cat /proc/driver/nvidia/version apt remove --purge nvidia-driver-local-repo\* watch -n 1 nvidia-smi
https://www.cnblogs.com/niuben/p/18397121
nvcc:https://developer.nvidia.com/cuda-toolkit-archive & https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions & https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
sudo apt remove --autoremove --purge "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*" "*nvptx*" curl -LOJ https://developer.download.nvidia.com/compute/cuda/12.9.1/local_installers/cuda-repo-debian12-12-9-local_12.9.1-575.57.08-1_amd64.deb sudo dpkg -i cuda-repo-debian12-12-9-local_12.9.1-575.57.08-1_amd64.deb sudo cp /var/cuda-repo-debian12-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt -y install cuda-toolkit-12-9 apt list | grep cuda-repo- sudo apt remove --purge "cuda-repo-<distro>-X-Y-local*" export PATH=${PATH}:/usr/local/cuda/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 nvcc -v
结束用户登录
# 查看 w # 结束 pts/0 pkill -kill -t pts/0
时间(centos8 无法使用,请使用 chrony:https://www.cnblogs.com/jhxxb/p/11526098.html)
yum -y install ntpdate ntpdate ntp.aliyun.com
用户,用户组:https://www.htcp.net/2746.html
# 修改文件或文件夹所属的用户和用户组 chown -R jenkins:jenkins ./jenkins/ # 修改文件或文件夹的权限 chmod -R 0777 ./jdk1.8.0_251/ # 查看所有用户 # cat /etc/passwd | grep -v nologin | grep -v halt | grep -v shutdown | awk -F":" '{ print $1"|"$3"|"$4 }' | more cat /etc/passwd # jenkins:x:998:996:Jenkins Automation Server:/var/lib/jenkins:/bin/false # 修改用户目录 usermod -d /opt/jenkins/ -u 998 jenkins # jenkins:x:998:996:Jenkins Automation Server:/opt/jenkins/:/bin/false
修改主机名
# 查看主机名 cat /etc/hostname hostname # 修改主机名(非临时) sudo sed -i "s/$(hostname)/new-hostname/g" /etc/hosts # sudo vim /etc/hostname sudo hostnamectl set-hostname new-hostname # sudo vim /etc/hosts sudo sed -i '1i 127.0.0.1 new-hostname' /etc/hosts
jar 包替换
# 备份原文件 cp app.jar app-backup.jar # 确认目标文件在 jar 中的路径(区分大小写) unzip -l app.jar | grep "bootstrap.yml" # 复制新文件(保持与 jar 中的路径一致) mkdir -p BOOT-INF/classes/ && cp bootstrap.yml BOOT-INF/classes/ # 使用 zip 命令替换,-d 删除,-u 更新,-r 递归 zip -dur app.jar BOOT-INF/classes/bootstrap.yml # 使用 jar 命令替换,-u 更新,-v 显示详情,-f 指定压缩文件,-x 解压 jar uvf app.jar BOOT-INF/classes/bootstrap.yml rm -rf BOOT-INF # 验证替换结果 unzip -p app.jar BOOT-INF/classes/bootstrap.yml
tar 解压缩
# -c 压缩,-x 解压,-f 文件 # -t 查看,-r 追加文件,-u 更新文件 # -z:gzip(.tar.gz),-j bzip2(.tar.bz2),-J xz(.tar.xz),-Z compress(tar.Z) # -v 显示过程 # -C 解压到指定目录 tar -cJf sql_dump.tar.xz dump_xxx.sql tar -xJf sql_dump.tar.xz # gzip 压缩率:中, 压缩速度:快 # bzip2 压缩率:较高,压缩速度:慢 # xz 压缩率:最高,压缩速度:最慢
关闭 selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
md5
# 查看文件 md5 值
md5sum filename
# 查看文件 sha1 值
sha1sum filename
# 查看文件 sha256 值
sha256sum filename
# 查看当前目录下所有文件的 md5 值
md5sum *
测试带宽
dd if=/dev/zero bs=1M count=100 | ssh -p 22 user@remote "cat > /dev/null"
awk:https://coolshell.cn/articles/9070.html
sed:https://coolshell.cn/articles/9104.html
https://www.cnblogs.com/jhxxb/p/10573957.html
https://coolshell.cn/articles/8883.html

浙公网安备 33010602011771号