ubuntu常用
查看
系统版本cat /proc/version
系统内核uname -a
ubuntu版本lsb_release -a
内存free -m
CPUlscpu
CPU占用htop
USBlsusb
GPU型号lspci | grep -i nvidia
NVIDIA驱动版本sudo dpkg --list | grep nvidia-*
CUDA版本nvcc -V
显存使用情况watch -n 1 nvidia-smi
单个环境变量echo $PATH
所有环境变量env
删除指定环境变量unset可以删除指定的环境变量
创建用户
sudo useradd -m username -s /bin/bash #/bin/bash作为shell
sudo passwd 123 #设置密码,如:123
sudo adduser username
sudo #为用户增加管理员权限
su - lln #切换当前用户为lln
su root #进入超级用户
文件操作
sudo tar zxvf /exitpath/zxvf filename.tar.gz -C /topath #解压文件
vim ~/.bashrc #修改配置文件
source ~/.bashrc #生效配置文件
sudo apt-get install vim #apt-get安装
sudo chown lln: ./eclipse.desktop #修改所有者
sudo chmod u+x eclipse.desktop #修改权限
目录切换
cd - #相当于cd $OLDPWD
dirs #用来查看目录堆栈的内容;~表示用户的主目录。
pushd 和 popd 命令来执行存储目录路径并删除它的操作
pushd /home/lln/Downloads/; pushd /usr/lib/; pushd /home/lln/Desktop/ #依次将目录压入栈
dirs #输出当前目录栈的内容,~/Desktop /usr/lib ~/Downloads ~
pushd +2 #可以让目录堆栈元素向上移动任何次数
pushd -2 #可以让目录堆栈元素向下移动任何次数
popd +2 #从顶部(目前是 ~/Downloads)删除第三个条目
dirs -v #显示目录索引
dirs -c #清除目录堆栈
目录
•主目录:/root、/home/username
•用户可执行文件:/bin、/usr/bin、/usr/local/bin
•系统可执行文件:/sbin、/usr/sbin、/usr/local/sbin
•其他挂载点:/media、/mnt
•配置:/etc
•临时文件:/tmp
•内核和Bootloader:/boot
•服务器数据:/var、/srv
•系统信息:/proc、/sys
•共享库:/lib、/usr/lib、/usr/local/lib
- /bin 存放所有用户皆可用的系统程序,系统启动或者系统修复时可用(在没有挂载 /usr 目录时就可以使用)
- /sbin存放超级用户才能使用的系统程序
- /usr/bin 存放所有用户都可用的应用程序
- /usr/sbin 存放超级用户才能使用的应用程序
- /usr/local/bin 存放所有用户都可用的与本地机器无关的程序
- /usr/local/sbin存放超级用户才能使用的与本地机器无关的程序
apt与apt-get
apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。
apt | 取代的命令 | 命令的功能 |
---|---|---|
apt install | apt-get install | 安装软件包 |
apt remove | apt-get remove | 移除软件包 |
apt purge | apt-get purge | 移除软件包及配置文件 |
apt update | apt-get update | 刷新存储库索引 |
apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
apt autoremove | apt-get autoremove | 自动删除不需要的包 |
apt full-upgrade | apt-get dist-upgrade | 在升级软件包时自动处理依赖关系 |
apt search | apt-cache search | 搜索应用程序 |
apt show | apt-cache show | 显示安装细节 |
新的apt命令 | 命令的功能 |
---|---|
apt list | 列出包含条件的包(已安装,可升级等) |
apt edit-sources | 编辑源列表 |
ubuntu环境变量
shell中的环境变量分为全局变量和局部变量。
永久的:需要修改配置文件,变量永久生效。
临时的:使用export命令声明即可,变量在关闭shell时失效。
设置变量方式:
1./etc/profile文件中添加变量【对所有用户生效(永久的)】
vi /etc/profile
#添加以下信息
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
#立即生效,不然只能在下次重进此用户时生效。
source /etc/profile
2.个人用户主目录下的~/.bashrc中增加变量【对单一用户生效(永久的)】
vi /home/lln/.~/.bashrc
#添加以下信息
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
#立即生效,不然只能在下次重进此用户时生效。
source /home/lln/.~/.bashrc
3.export命令定义变量【只对当前shell(BASH)有效(临时的)】
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib #只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
# 加到PATH末尾
export PATH=$PATH:/path/to/your/dir
# 加到PATH开头
export PATH=/path/to/your/dir:$PATH
常用环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
1.profile
针对系统的/etc/profile
和针对用户的~/.profile
登录shell随着用户的登录而启动,可以看作是第一个shell,后续的shell都是登录shell的子shell。
登录shell会执行针对系统的/etc/profile
和针对用户的~/.profile
。为了让环境变量在后续的所有shell都能访问到,可以在这里配置全局的环境变量,但是注意profile只会在登录的时候执行一次,所以一般配置完后需要重新登录才能生效。
对于/etc/profile
,首先会检查是否交互式运行(即 $PS1
不为空),如果不是则给PS1
赋 #
或 $
,#
代表root用户,$
代表普通用户。如果是交互式运行还要是否启动了bash shell
,如果是则执行/etc/bash.bashrc
对bash
进行相关配置。然后会执行/etc/profile.d
目录下的shell
文件,有一些作为自启动程序,有些用来定义一些全局环境变量。
对于~/.profile
,首先检查是否启动了bash shell
,如果是则执行~/.bashrc
对bash
进行相关配置。然后重新设置了PATH
(所以导致不同用户的环境变量PATH
不一样)。
2.bashrc
针对系统的/etc/bash.bashrc
和针对用户的~/.bashrc
当启动bash shell
(打开终端)的时候会执行/etc/bash.bashrc
和~/.bashrc
。
添加 SSH key
1.切换到.ssh目录,查看是否存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,进入步骤3。
cd ~/.ssh
2.创建SSH key
ssh-keygen -t rsa -C "XXXXXXX@qq.com" #-t 指定密钥类型,默认是 rsa ,可以省略。-C 设置注释文字,比如邮箱。-f 指定密钥文件存储文件名。
ssh-keygen -t rsa -C "xxxxxxx@qq.com" -f "github_id_rsa"
ssh-keygen -t rsa -C "xxxxxxx@qq.com" -f "gitee_id_rsa"
3.拷贝拷贝 id_rsa.pub 文件的内容至github/gitee账户下settings/new ssh key
4.创建config文件解决ssh冲突,在.ssh文件夹下执行命令vi config
文件中添加以下内容
#gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
5.测试
ssh -T git@gitee.com
ssh -T git@github.com
Ubuntu下几种常用到的国内源
Ubuntu安装后默认的官方源是美国的服务器,但是美国服务器在国内安装软件等会有较大的限制。所以需要将默认的源切换为国内源。常用的国内源有阿里源(中国官方源)、网易源和搜狐源等等。还有高校源,比如清华、中科大以及浙大等等。如果是在校学生,可以换成自己学校内部的源,更新和安装软件的速度会很快。如果是非校园网络,推荐使用阿里源。
百度:Ubuntu18.04.1下更换源、常用源
1.添加源
sudo gedit /etc/apt/sources.list
2.更新源
sudo apt update
ubuntu常见软件安装
1.安装
sudo apt install XXX
2.卸载
sudo apt-get remove --purge XXX
#手动删除 xxx 相关目录
find / -name xxx
sudo rm -r /path/xxx
#如删除node
sudo rm -r /usr/local/bin/npm
sudo rm -r /usr/local/lib/node-moudels
sudo find / -name npm
sudo rm -r /tmp/npm*
shell下java程序的编译与运行
1.查看java路径:which java
2.编译(.java—->.class):javac Filename.java
3.生成jar包:jar cvf Filename.jar Filename*class
4.hadoop下运行: /usr/local/hadoop-2.6.5/bin/hadoop jar Filename.jar Filename
Ubuntu的apt-get install的默认安装路径
所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。
下载的软件存放位置: /var/cache/apt/archives
安装后软件默认位置:/usr/share
可执行文件位置 :/usr/bin
配置文件位置:/etc
lib文件位置: /usr/lib
dpkg -i #安装一个 Debian 软件包,如你手动下载的文件。
dpkg -c #列出 的内容。
dpkg -I #从 中提取包信息。
dpkg -r # 移除一个已安装的包。
dpkg -P #完全清除一个已安装的包。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
dpkg -L #列出 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。
dpkg -s #显示已安装包的信息。同时请看 apt-cache 显示 Debian 存档中的包信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包信息。
dpkg -reconfigure# 重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包安装提供了一个统一的配制界面)。
Git命令
https://www.yiibai.com/git/git_clone.html
Linux下详解正则表达式
特殊字符作为普通的文本字符,就需要转义
定位符(从头开始):脱字符(^)尖角号定义从数据流中文本行开头开始的模式
查找结尾:美元符号$
特殊字符定义结尾定位,在文本模式之后添加这个特殊字符表示数据行必须以此文本模式结束。
联合定位:比较常用的就是“^$”
表示空行;结合“^#”
,由于#在Linux代表注释,输出该文本的有效配置
点特殊字符:用于匹配除换行符之外的任意单个字符,但点字符必须匹配一个字符;如果在圆点位置没有字符,那么模式匹配失败。
字符类:可以定义一类字符来匹配文本模式中的某一位置。如果在字符类中的某一字符在数据流中,就和模式匹配。为定义字符类,需要使用方括号。
星号:在某个字符之后加一个星号表示该字符在匹配模式的文本中不出现或出现多次
问号:表示前面的字符可以不出现或者出现一次。不匹配重复出现的字符。
加号:表示前面的字符可以出现一次或者多次,但必须至少出现一次,该字符若是不存在,则模式不匹配。
大括号:指定对可重复的正则表达式的限制,通常称为间隔。
m:该正则表达式正好出现m次
m,n:该正则表达式出现最少m次,最多n次