Linux命令应知应会 | Linux必备指令

Linux应知应会
Ezharjan Linux
Linux Commands
Linux常用指令合集
Linux必备指令合集



Linux Commands

  1. 清除登陆系统成功的记录
echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息

last //此时即查不到用户登录信息
  1. 清除登陆系统失败的记录
echo > /var/log/btmp //此文件默认打开时乱码,可查到登陆失败信息

lastb //查不到登陆失败信息
  1. 清除历史执行命令
history -c //清空历史执行命令

echo > ./.bash_history //或清空用户目录下的这个文件即可
  1. 导入空历史记录
vi /root/history //新建记录文件

history -c //清除记录 

history -r /root/history.txt //导入记录 

history //查询导入结果

使用举例如下

vi /root/history

history -c 

history -r /root/history.txt 

history 

echo > /var/log/wtmp  

last

echo > /var/log/btmp

lastb 

history -c 

echo > ./.bash_history

history

echo > /var/log/wtmp

last

echo > /var/log/btmp

history -c

echo > ./.bash_history 

vi /root/history

history -c

history -r /root/history.txt

history -cw
  1. 查询linux服务器有哪些IP在连接
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
  1. 敲一下w,即可看到当前在线人数
w
  1. 查看磁盘剩余空间
df -hl
  1. 查看每个根路径的分区大小
df -h
  1. 返回该目录的大小
du -sh [目录名]
  1. 返回该文件夹总M数
du -sm [文件夹]
  1. 查看指定文件夹下的所有文件大小(包含子文件夹)
du -h [目录名]
  1. 将某个命令输出的信息写入文件
ls > ./lsInfo.txt
  1. 查看某个端口的进程ID:
netstat -nap | grep 端口号
  1. 杀死指定的进程ID:
kill -9 进程ID
  1. vim show line number:
set nu #show
set nonu #hide
vim ~/.vimrc ##add 'set nu' to this file to show the line number permanently
  1. Use nohup to run the commands in background:
nohup (your commands here) & echo "your remark here" > nohup.out &
cat nohup.out #view the process of background running command
  1. Create soft link to current folder:
ln -s /absolute/path/to/file.txt shortcut_name
  1. SSH add public key into the server to avoid entering password everytime:
  • 找到本机的id_ras.pub文件
  • 将id_ras.pub的内容复制到服务器中
  • 服务器中需要被改动的文件是 ~/.ssh/authorized_keys
  • vi ~/.ssh/authorized_keys
  1. 使用slrum集群运行指令在GPU上:
srun -p gpu_batch --gres=gpu:GPU_COUNT python xxx
  1. See the size of the folder:
du -sh /path/to/folder
  1. 查看正在执行main.py的后台进程(排除grep自身被查出的情况):
ps -aux|grep main.py| grep -v grep
  1. 获取正在执行的main.py的后台进程(排除grep自身被查出的情况)的进程号/进程ID:
ps -aux|grep main.py| grep -v grep | awk '{print $2}'
  1. Linux无法删除文件夹 Device or resource busy,查看资源占用进程 lsof +d /local/ 显示目录占用的进程
lsof +d /YOUR_DIR_NAME/
kill -9 PID_FOUND_ABOVE
  1. 查看Linux主机信息:
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量 资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载 磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况 网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息 进程
ps -ef # 查看所有进程
top # 实时显示进程状态 用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务 服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务 程序
rpm -qa # 查看所有安装的软件包
  1. 批量解压当前目录下所有的zip文件:
ls *.zip | xargs -n1 unzip
  1. 将命令放到全局:
# 通过软连接的方式链接到/usr/bin/目录下
sudo ln -s /absolute/path/to/folder/contains/executable/file/ /usr/bin/name_to_execute

Slurm Commands

  1. 显示每个节点上可用的GPU数量、当前使用的GPU数量、节点状态以及其他相关信息:
sinfo -o "%10N %10G %10c %10D %10T %20F" --Node | grep gpu

##节点状态
#alloc	    idle	   mix	        down      drain
#节点在用	节点可用	部分占用	节点下线	节点故障
  1. 详细地了解每个作业占用的GPU,可以使用以下命令,该命令将显示每个作业的ID、作业名称、用户名、状态、内存使用量、GPU数量以及其他相关信息。:
squeue -o "%.7i %.9P %.8j %.8u %.2t %.10M %.6D %R"

##作业状态
#R	        PD	        CG	        CD
#正在运行	正在排队	即将完成	已完成


Reference1
Reference2



Conda (Anaconda) Commands

  1. View existing Conda environment:
conda info --envs
conda env list
  1. Create new environment
conda create -n ENV_NAME python=3.7 -y
  1. Activate new environment on Windows:
activate ENV_NAME
  1. Remove some installed environment:
conda remove -n ENV_NAME --all -y
  1. Clone one conda environment to another:
conda create -n new_env --clone template_env -y
  1. Change Python version in current Conda environment:
conda install python=3.7
  1. Use conda activate env_name command inside a bash file on Linux:
eval "$(conda shell.bash hook)"
conda activate env_name


Download Andoconda


Tmux Commands

  1. 安装 tmux :

# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

  1. 启动 tmux :
tmux
  1. 新建会话,使用编号区分会话,不太直观,更好的方法是为会话起名:
tmux
tmux new -s <session-name>
  1. 分离会话,在 Tmux 窗口中,按下Ctrl+b d或者输入tmux detach命令,就会将当前会话与窗口分离:
tmux detach
  1. 查看当前所有的 Tmux 会话:
tmux ls
  1. 接入会话,重新接入某个已存在的会话:
# 使用会话编号
tmux attach -t 0

# 使用会话名称
tmux attach -t <session-name>
  1. 杀死会话:
# 使用会话编号
tmux kill-session -t 0

# 使用会话名称
tmux kill-session -t <session-name>
  1. 切换会话:
# 使用会话编号
tmux switch -t 0

# 使用会话名称
tmux switch -t <session-name>
  1. 重命名会话:
tmux rename-session -t 0 <new-name>
  1. 会话快捷键:
Ctrl+b d:分离当前会话。
Ctrl+b s:列出所有会话。
Ctrl+b $:重命名当前会话。
  1. tmux 最简操作流程:
  • 新建会话tmux new -s my_session。
  • 在 Tmux 窗口运行所需的程序。
  • 按下快捷键Ctrl+b d将会话分离。
  • 下次使用时,重新连接到会话tmux attach-session -t my_session。

点此查看更多tmux指令


Git Commands

  1. Git 暂存当前内容:
git stash save [stashMessage]
  1. 取出之前储藏的修改:
git stash pop
  1. 查看储藏记录列表:
git stash list
  1. 取出指定index的储藏的修改到工作区中:
git stash apply stash@{index} 
  1. 将指定index的储藏从储藏记录列表中删除:
git stash drop stash@{index}
  1. 新建分支
git branch xxx (xxx填写你的分支名称)
  1. 查看所有分支
git branch -a
  1. 切换到某一分支
git checkout xxx (xxx填写要切换的分支名称)
  1. 添加修改代码到缓存,注意最后的"."前面有个空格
git add .
  1. 添加提交代码的备注
git commit -m "xxx" (xxx为本次提交代码的备注)
  1. 提交代码到指定分支
git push origin xxx (xxx为要提交代码的分支名称)
  1. 撤销所有本次未提交的修改(相当于Tortoise Git的revert按钮):
git checkout . 
  1. 恢复某个已修改的文件(撤销未提交的修改):
git checkout file-name
  1. 撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销(git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容):
 git revert HEAD                  # 撤销前一次 commit
 git revert HEAD^                   # 撤销前前一次 commit
 git revert commit-id
 #(比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。
  1. 返回到某个节点,不保留本次所操作的修改:
git reset --hard HASH
  1. 返回到某个节点,保留本次所操作的修改:
git reset --soft HASH
  1. 把所有没有提交的修改暂存到stash里面(可用 git stash pop 恢复):
git stash
  1. 查看所有的历史版本:
git log






作者:艾孜尔江

posted @ 2021-04-10 10:48  艾孜尔江  阅读(89)  评论(0编辑  收藏  举报