概述
linux启动后环境变量加载的顺序为:etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
https://www.cnblogs.com/xuxinstyle/p/9609551.html 50个常用命令
~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录
cat /etc/redhat-release 查看CentOS版本
rwx = 4+2+1 = 7 r:4 w:2 x:1
sudo apt-get clean 删除包缓存中的所有包
sudo apt-get autoremove: 删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包
sudo apt-get update:更新软件包列表(/etc/apt/sources.list 或 /etc/apt/preferences);
sudo apt-get install packagename:安装一个新软件包;
sudo apt-get remove packagename:卸载一个已安装的软件包(保留配置文件);
sudo apt-get --purge remove packagename:卸载一个已安装的软件包(删除配置文件);
sudo dpkg --force-all --purge packagename:有些软件包很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险;
sudo apt-get autoclean:清理无用的软件包,定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包的.deb文件一并删除。大多数情况下你不会再用到这些.deb文件,因此如果你为磁盘空间不足而感到焦头烂额,这个办法也许值得一试;
sudo apt-get upgrade:更新所有已安装的软件包;
sudo apt-get dist-upgrade:将系统升级到新版本;
sudo apt-cache search string:在软件包列表中搜索字符串;
sudo fuser -v /dev/nvidia* GPU查看那些进程正在执行
ps aux 查看运行过程
free 命令用于显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
top 命令是Linux下常用的性能分析工具,能够实时系统中各个进程的资源占用状况,Windows的任务管理器
du -sh * 查看当前文件下各文件大小***
du -h === df 查看当前目录下各个目录的大小
du -h --max-depth=1 Linux 查找占用空间最大的文件与目录:
du -sh * .[^.]* 隐藏文件
df -h 查看挂载目录下大小 更好用***
Ctrl+c和Ctrl+z都是中断指令,区别如下
Ctrl+c是强制中断程序执行
Ctrl+z将任务中断,但是任务没有结束,它仍在进程中只是维持挂起的状态。
我们可以使用fg或者bg来继续前台或者后台的任务(fg重新启动前台被中断的任务,bg后台执行被中断的任务)。
杀死进程 # kill 12345
强制杀死进程 # kill -KILL 123456
发送SIGHUP信号,可以使用一下信号 # kill -HUP pid
彻底杀死进程 # kill -9 123456
:set paste 解决粘贴格式错乱
cat 0526_bert_fine_tuning_3_bpe/log_eval_loss_file.txt
cat 0526_bert_fine_tuning_3_bpe_back/log_eval_loss_file.txt
lsof -i 查看端口占用情况
lsof -i:8080: 查看8080端口占用
在linux服务器上,经常会遇到复制代码,粘贴到文件里时,经常会遇到粘贴进来的格式变了
解决方法:
在vim普通模式下执行
:set paste 命令,再按 i 插入就会保留原文件格式
如果你想关闭:
:set nopaste
帮忙:
:h paste
#查看 使用信息
watch -n 0.1 nvidia-smi
watch -n 0.1 -d nvidia-smi #每隔0.1秒刷新一次
cat [选项] [文件]...
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
-s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
进程命令
free
free [参数] 命令用于显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
top [参数] 命令是Linux下常用的性能分析工具,能够实时系统中各个进程的资源占用状况,Windows的任务管理器
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
ps 命令显示运行的进程,还会显示进程的一些信息如pid, cpu和内存使用情况等
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
chmod g+w file 向file的文件权限中加入用户组可写权限
sudo 用来以其他身份来执行命令,预设的身份为root
diff 命令用于比较两个文件或目录的不同
wget 是从远程下载的工具:
date ‘+%c’ date 命令用于显示或设定时间
tree 文件树形格式
tree -d 文件树形格式(只显示目录)
touch 文件名 新建文件
mkdir 文件名 Make Directory(创建目录)
mkdir -p test01/test02/test03 -p创建多级目录
mkdir {test01,test02,test013}/tool 在多个文件夹里的每个文件夹里面需要创建一个tool文件夹的话
cp 命令,作用复制,参数如下:
-r :递归持续复制,用于目录的复制行为
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-u :目标文件与源文件有差异时才会复制
cp dir1/a.doc dir2 表示将dir1下的a.doc文件复制到dir2目录下
cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下
cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
rmdir 文件名 删除目录
ls --file-type | grep -v /$ | xargs rm -f 删除当前目录下所有非文件夹文件
mv 文件夹A 文件夹B 更改文件夹名字
mv example.txt ~/Documents 文件移动到后面文件夹
mv example.txt ~/Documents/foo.txt 移动后重命名
mv -b example.txt ~/Documents 有冲突时提供备份
mv foo bar baz ~/Documents 移动多个文件
tar命令,用于压缩解压:
tar -zcvf 打包后生成的文件名全路径 要打包的目录
tar -jcvf /nfs/volume-826-2/lqt/t3.zip test
压缩:tar -jcvf filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtvf filename.tar.bz2
解压:tar -jxvf filename.tar.bz2 -C 欲解压缩的目录
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
df: disk free 其功能是显示磁盘可用空间数目信息及空间结点信息
du: Disk usage
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
:sp上下分屏
:vsp左右分屏
ctrl+w+w切换屏
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
pwd -P # 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置:
ifconfig [网络设备] [参数]
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
<硬件地址> 配置网卡最大的传输单元
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
whereis 命令:
# whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
whereis [-bmsu] [BMS 目录名 -f ] 文件名
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
which 会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果:
which 可执行文件名称
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同,但此处的包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息
grep
Linux 系统中 grep 命令是一种强大的文本搜索工具
grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
常用的两种模式查找
参数 含义
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行
用户管理
提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行
创建用户/设置密码/删除用户
序号 | 命令 | 作用 |
01 | id [用户名] | 查看用户 UID 和 GID 信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的账户名 |
关机
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立刻关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机计划
$ shutdown -c
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的 IP 地址
$ ifconfig | grep inet
scp
scp 就是 secure copy ,是一个在 Linux 下用来进行 远程拷贝文件 的命令
它的地址格式与 ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
####### 环境变量
想修改某用户登录后shell字体的颜色,可在~/.bashrc中添加PS1内容即可,以下是我机器的设置:
PS1="[ 33[1;32;1m][[ 33[0;32;1m]u:[ 33[1;35;1m]w[ 33[1;32;1m]][ 33[1;31;1m]$[ 33[1;37;1m]"
PS1='${debian_chroot:+($debian_chroot)}u@h:w$ '
export CLICOLOR=1
export LSCOLORS=gxfxaxdxcxegedabagacad
alias ll='ls -l'
vi ~/.bash_profile
if [ -f ~/.bashrc ];then
source ~/.bashrc
fi
cat ~/.bashrc 环境变量
source ~/.bashrc source ~/.bash_profile MAC
VIM模式
u 取消操作
p 粘贴
yy 复制光标所在位置的一行
dd 删除光标所在的行
dw: 删除当前光标所在位置的单词
set nu 显示行号
0 移动到行首
$ 移动到行尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
G 光标移至文章的最后
Ctrl+f 向前翻屏
Ctrl+b 向后翻屏
Ctrl+d 向前翻半屏
Ctrl+u 向后翻半屏
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
Linux挂载U盘驱动:
1、插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1。
2、在mnt目录下先建立一个usb的目录(如:[root@localhost root]# mkdir /mnt/usb)
3、挂载U盘:mount -t vfat /dev/sda1 /mnt/usb
4、卸载U盘:umount /mnt/usb
5、删除usb目录:rm -rf /mnt/usb
bashrc 文件配置带颜色
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]w[ 33[00m]$ '
else
PS1='${debian_chroot:+($debian_chroot)}u@h:w$ '
fi
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
最后
以上就是魔幻鞋垫为你收集整理的Linux命令的全部内容,希望文章能够帮你解决Linux命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复