石墨版: Ubuntu指南.
sudo passwd [root] 设定root密码
su [root] 切换到root用户
sudo COMMAND 切换到root用户,执行COMMAND,然后切换回当前用户
su USER 切换回普通用户USER
apt list 根据名称列出软件包
apt show PACKAGE 显示软件包细节
sudo apt-get install PACKAGE 安装软件包
sudo apt-get remove PACKAGE 卸载软件包
sudo apt-get check PACKAGE 检查依赖
sudo apt-get update 更新可用软件包列表
sudo apt upgrade 通过升级来更新系统
sudo apt-get install -f 修复依赖
sudo dpkg -i xxx.deb 运行deb程序进行安装
sudo apt-get install python3-pip # 安装python3下的pip
# 更新pip到指定版本
python3 -m pip install --user --upgrade pip==9.0.3 # (换成你想要的版本编号)
# pip临时加速
pip 加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
# pip永久加速
# Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
"""
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
"""
# windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini。内容同上。
pip install PACKAGE # 安装包
pip uninstall PACKAGE # 卸载包
pip search PACKAGE # 搜索能安装的包
pip list # 例出所有的已安装的包
pip show PACKAGE # 展示已安装包的信息,可以指定单个包名展示
pip check PACKAGE # 检查依赖
pip --version # 显示pip版本和位置
pip help # 查看帮助
pip help install # 查看install指令的相关option介绍
ssh USERNAME@IP -p PORTNUM # 远程登录到主机
scp LOCAL_FILE USERNAME@IP:REMOTE_DIRECTORY # 复制本地文件到远程主机
scp -r LOCAL_FILE USERNAME@IP:REMOTE_DIRECTORY # 复制本地文件夹到远程主机
sudo ufw dissable # 关闭防火墙
sudo ufw enable # 开启防火墙
sudo apt-get install vsftpd # 安装sftp
service vsftpd starrt # 启用sftp
gzip # gzip是Linux使用最广的压缩指令
gzip [-cdtv#] FILENAME
"""
-c :将压缩的数据输出到屏幕上
-d :解压缩
-t :检验压缩文件是否出错
-v :显示压缩比等信息
-# : # 为数字的意思,代表压缩等级,数字越大压缩比越高,默认为 6
"""
bzip2 # 提供比gzip更高的压缩比
bzip2 [-cdkzv#] FILENAME
"""
-k :保留源文件
"""
xz2 # 提供比bzip2更佳的压缩比
xz [-dtlkc#] FILENAME
tar 压缩打包
tar [-z|-j|-J][cv][-f NEW_TAR_FILE] FILE # 打包压缩
tar [-z|-j|-J][tv][-f TAR_FILE] # 查看
tar [-z|-j|-J][xv][-f TAR_FILE] [-C DIR] # 解压
"""
-z :使用 zip
-j :使用 bzip2
-J :使用 xz
-c :新建打包文件
-t :查看打包文件里面有哪些文件
-x :解打包或解压缩的功能
-v :在压缩/解压缩的过程中,显示正在处理的文件名
-f : filename:要处理的文件
-C DIR : 在特定目录解压缩
"""
# 例1
tar -jcv -f file.tar.bz2 file # 压缩
tar -jxv -f file.tar.bz2 -C ./file # 解压
tar -zcv -f dir.tar.gz dir1 dir2 ... # 多个文件压缩
# 例2
tar -zcv file | split -b 4000M -d -a 1 - file.tar.gz. # 压缩成多个压缩包
# 使用split命令
"""
-b 4000M 表示设置每个分割包的大小,单位还是可以k
-d 参数指定生成的分割包后缀为数字的形式
-a x来设定序列的长度(默认值是2)
"""
cat file.tar.gz.* | tar -zxv file 多个压缩包解压
du -s # 仅显示总计,只列出最后加的总值
du -c # 除了显示个别文件或目录的大小外,还显示一行目录和文件的总和大小
du -h # 以k,m,g为单位,提高信息的可读性
du --max-depth=1 # 查看当前目录所有(一级)文件的大小
du -sh *.mkv # 显示每个mkv文件的大小
du -csh *.mkv # 显示每个mkv文件的大小和总和
df -h # 以k,m,g为单位,提高信息的可读性
df -T # 显示文件系统的类型
#which在PATH变量制定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果
#whereis只能用于程序名的搜索,而且只能搜索二进制文件(-b),man说明文件(-m),源代码文件(-s)。若省略,则返回所有信息
#locate配合数据库查看文件位置。linux会将系统内所有文件记录在一个数据库文件中,电视该数据库并不是实时更新
#find实际搜寻硬盘查询文件名称
find . -name "*.conf" 当前目录查找扩展名为.conf的文件
updatedb 更新数据库
locate STRING 快速查找系统数据库中指定的内容
which python 查询python
whereis python 查询python
chmod [ugoa][+-=][rwx] FILE|DIR # 改变指定目录或文件的权限
# u代表该文件所有者,g代表该文件所有者的同组用户,o代表其他,a表示这三者皆是
# r可读,w可写,x可执行
chomd u+x test # 该文件的所有者增加可执行的权限
# 用数字表示,规定r=4,w=2,x=1
chmod 777 file # 三种用户都赋予可读可写可执行的权限
chown -R 用户名[:组名] 文件名或目录 # 改变指定目录或文件的所属用户,-R代表递归地改变目录下的所有文件
ls [-adl] FILE|DIR # 列出文件或者目录信息
"""
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据
"""
cd DIR # 更换当前路径
mkdir [-mp] DIR # 创建目录
"""
-m :配置目录权限
-p :递归创建目录
"""
rmdir [-p] DIR # 删除目录,目录必须为空
"""
-p :递归删除目录
"""
touch [-acdmt] FILENAME # 更新文件时间或者建立新文件
"""
-a : 更新 atime
-c : 更新 ctime,若该文件不存在则不建立新文件
-m : 更新 mtime
-d : 后面可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
-t : 后面可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]
"""
cp [-adfilprsu] SOURCE DESTINATION # 复制文件
"""
-d :若来源文件为链接文件,则复制链接文件属性而非文件本身
-i :若目标文件已经存在时,在覆盖前会先询问
-p :连同文件的属性一起复制过去
-r :递归持续复制
"""
rm [-fir] FILE|DIR # 删除文件或者目录
"""
-r :递归删除
"""
mv [-fiu] SOURCE DESTINATION # 移动文件
"""
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
"""
ln [-sf] SOURCE DESTINATION # 创建链接
"""
-s :默认是 hard link,加 -s 为 symbolic link
-f :如果目标文件存在时,先删除目标文件
"""
cat [-n] FILENAME # 获取文件内容
"""
-n :打印出行号,连同空白行也会有行号,-b 不会
"""
grep str /tmp/test # 在文件/tmp/test中查找str
grep ^str /tmp/test # 在文件/tmp/test中查找以str开始的行
ls -ld */ # 显示当前目录的所有目录文件
ls -l | grep '^d' # 显示当前目录的所有目录文件
wc -l # 统计文件行数
wc -w # 统计单词数量
ls -l | wc -l # 统计当前目前的文件数量,注意要减去“总用量”那一行
cp -a dir1 dir2 # 复制目录
mv dir1 dir2 # 移动/重命名目录
mkdir -p /tmp/dir1/dir2 # 创建一个目录树
rm -f file1 # 删除文件
rm -rf dir1 # 删除目录
ln -s /real_file /soft_link # 创建软链接
ps -e # 显示所有进程
ps -f # 全格式显示进程
ps -u 'liaohuqiang' | grep 'tmux' # 显示指定用户执行的进程,并匹配出包含'tmux'的那一行进程
ps -ef | grep 'python' | grep -v grep # 把grep命令排除掉
ps -ef | grep 'python' | grep -v grep | awk '{print $2}' # 提取进程号
pstree -A #查看进程树
kill -2 PID # 类似ctrl+C,在程序结束之前能够保存相关数据,再退出
kill -9 PID # 直接强制结束进程
reboot # 重启
shutdown -r now # 立刻重启
shutdown -r 30 # 30分钟后重启
shutdown -r 23:00 # 晚上11点重启
halt # 立刻关机
poweroff # 立刻关机
shutdown -h now # 立刻关机
shutdown -h 30 # 30分钟后关机
shutdown -c # 取消shutdwon的重启或关机
command & # 使指令成为后台任务
nohup # 不挂断地运行命令,通常和&一起用,输出将附加到目录的nohup.out
jobs -l # 列出任务列表,l表示显示进程号(只查看当前终端的,关闭终端后无法看到)
fg # 把最近一个job切换到前台
fg n # 把某个job切换到前台
ctrl z # 挂起某个前台进程
bg # 把作业放到后台运行
top # 动态显示进程信息
top -i # 不显示任何闲置或无用的进程
"""
k 杀死某进程
n 改变显示的进程数量
u 显示指定用户
P 按CPU使用情况排序
q 退出
"""
lscpu # 查看cpu信息概要
# 监视cpu
# 先安装matstat
sudo apt install sysstat
# 每两秒查看一次
mpstat -P ALL 2
netstat # 显示网络情况
netstat -a # 列出所有端口
netstat -l # 只显示监听端口
netstat -t # 列出所有tcp端口
netstat -p # 显示使用该端口的pid和程序名称
netstat -n # 直接使用ip地址,不通过域名服务器
# 找出程序运行的端口
netstat -anp | grep ssh
# 找出运行在指定端口的进程
netstat -anp | grep ':80'
ifconfig # 查看网卡信息
free -m # 查看内存使用情况
df # 查看磁盘使用情况
cat /proc/cpuinfo # 查看cpu信息
lspci | grep VGA # 查看显卡
nvidia-smi # 查看英伟达系列显卡的使用情况
nvidia-smi -L # 查看显卡型号
watch -n 1 -d nvidia-smi # 实时监控nvidia-smi,每隔一秒刷新一次,d表示高亮
cat /proc/driver/nvidia/version # 查看显卡驱动
cat /etc/issue # 查看ubuntu版本
vim可以分为三种模式:命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode)
Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。
Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。
Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。
在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。这时候您就可以开始输入文字了
i: 插入,从目前光标所在之处插入所输入的文字
a: 增加,目前光标所在的下一个字开始输入文字
o: 插入新的一行,从行首开始输入文字
Insert的切换→Command mode,按Esc键
您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,就要按ESC键转换回Command mode,再删除文字
在Command mode下,可按冒号“:”键入入Last line mode,例如:
:w filename (输入“w filename”,将文章存入指定的文件名filename)
:wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
:q! (输入“q!”,强制离开并放弃编辑的文件)
x:每按一次删除光标所在位置的后面一个字符
dd:删除光标所在行
yy:复制光标所在行
u:假如您误操作一个指令,可以马上按u,回复到上一个操作
date # 显示时间
whoami # 显示当前用户名
who # 目前登录系统的用户信息
curl 'url' -O --progress # 下载文件,-O代表保存文件(如果没有则输出到屏幕), --progress表示会显示进度条
# (curl不是linux的默认自行,需自行安装apt install curl)
echo $SHELL # 查看系统使用的是哪种shell
echo $PATH # 查看环境变量
xdg-open filename # 用默认应用程序打开文件
python run_generation.py | tee vggTrainResult # 重定向到文件
cat /usr/local/cuda/version.txt # 查看cuda版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 # 查看cudnn版本
https://www.cnblogs.com/liaohuiqiang/p/7191462.html