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 行,第 2ps -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

https://coolshell.cn/articles/19219.html

https://github.com/jaywcjlove/linux-command

posted @ 2020-03-30 01:32  江湖小小白  阅读(1011)  评论(0)    收藏  举报