https://packages.ubuntu.com/source/focal/slurm-llnl
https://salsa.debian.org/hpc-team/slurm-wlm
https://redketchup.io/icon-converter
linux 安装ps命令
sudo apt install procps
http://c.biancheng.net/view/2804.html
https://github.com/mknoxnv/ubuntu-slurm/issues/12
https://dmerej.info/blog/post/symlinks-and-so-files-on-linux/
sudo apt install guake
Linux主机通过Windows虚拟机转发Easyconnect内网请求
sudo update-locale LANG=en_US.UTF-8
sudo vim /etc/default/locale(需要注销用户)
lsb_release -a
查看发型版本apt-cache show tcl | grep -i version
sudo snap install onlyoffice-desktopeditors
orce_color_prompt=yes
sudo pkill Xorg 或者 sudo restart lightdm
, GUI卡住du -sh .[!.]*
, 查看隐藏文件大小,jobs -l
选项可显示所有任务的PIDfg %jobnumber
(是命令编号,不是进程号)将选中的命令调出 ,将后台中的命令调至前台继续运行bg %jobnumber
将一个在后台暂停的命令,变成在后台继续执行kill %num
kill pid
Ctrl+c
find . -type f -exec dos2unix {} \;
转换dos到unixfind . -ok COMMAND {} \
对查找的文件执行COMMAND命令(需要用户确认)find . -exec COMMAND {} \
enca -L zh_CN -x utf-8 *
转换文件编码file *
查看文件编码unset all_proxy && unset ALL_PROXY
取消所有 socks 代理git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。
git rm -r --cached dir1 删除dir1目录,并保留在本地。
git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。
http_proxy=192.168.10.91:3128 # 分别指定http、https、ftp协议使用的代理服务器地址
https_proxy=192.168.10.91:3128
ftp_proxy=192.168.10.91:3128
no_proxy=192.168.10.0. # 访问局域网地址(192.168.20.0/24网段)时不使用代理,可以用逗号分隔多个地址
export http_proxy https_proxy ftp_proxy no_proxy
wy@wy-desktop:~$ sudo apt install subtitlecomposer
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 11316 (unattended-upgr)
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 11316 (unattended-upgr)
解决
wy@wy-desktop:~$ sudo lsof /var/lib/dpkg/lock-frontend
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 11316 root 10uW REG 259,3 0 28967805 /var/lib/dpkg/lock-frontend
wy@wy-desktop:~$ ps aux | grep 11316
root 11316 16.1 1.0 369720 165088 ? Sl 09:54 3:19 /usr/bin/python3 /usr/bin/unattended-upgrade
wy 53219 0.0 0.0 17864 2668 pts/2 S+ 10:14 0:00 grep --color=auto 11316
1、top -H
手册中说:-H : Threads toggle
加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
2、ps xH
手册中说:H Show threads as if they were processes
这样可以查看所有存在的线程。
3、ps -mp
手册中说:m Show threads after processes
这样可以查看一个进程起的线程数。
>
覆盖输出重定向>>
追加输出重定向2>
/2>>
错误输出重定向
&>
/&>>
合并错误输出流和正确输出流
cat > a.txt <<END xxx END
Here Documenttr [a-z] [A-Z] < /xxx
将xxx中的小写转换为大写tr -d [abc] < /xxx
删除xxx中的abc字符/dev/null
, 将数据丢弃nohup /root/runoob.sh > runoob.log 2>&1 &
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中ctrl+c 结束正在运行的程序【ping、telnet等】
ctrl+d 结束输入或退出shell
ctrl+s 暂停屏幕输出
ctrl+q 恢复屏幕输出
ctrl + z:可以将一个正在前台执行的命令放到后台,并且处于暂停状态
ctrl+ shift + E English
evince
xdg-open
ego
cat /etc/shells # 所有shell
echo $SHELL # 当前shell
chsh -s /bin/zsh
chsh -s /bin/bash
chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
||则与&&相反。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令。
ssh-keygen
.ssh/authorized_keys
ssh-copy-id -i .ssh/id_rsa.pub root@0.0.0.0 # 你的服务器地址
线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。
在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内核调度器而言,线程不过是恰好共享特定资源的标准的进程而已。经典的命令行工具,如ps或top,都可以用来显示线程级别的信息,只是默认情况下它们显示进程级别的信息
ps -hH -p 824 | wc -l
ps -T -p <pid>
top -H
echo "1" > /proc/sys/net/ipv4/ip_forward
/etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p # 立即生效
ffmpeg -i 源文件路径\源文件名.mkv -qscale 2 -vcodec libx264 新文件路径\新文件名.mp4
使用 -ss 和 -t 选项,从第0秒开始,向后截取31秒视频,并保存
ffmpeg -ss 00:00:00 -i video.mp4 -vcodec copy -acodec copy -t 00:00:31 output1.mp4
从第01:33:30 开始,向后截取 00:47:16 视频,并保存
ffmpeg -ss 01:33:30 -i video.mp4 -vcodec copy -acodec copy -t 00:47:16 output2.mp4
合并视频
把剪切得到的两个视频合并成一个视频
使用 TS格式拼接视频
先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。
ffmpeg -i output1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output1.ts
ffmpeg -i output2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output2.ts
为了减少命令的输入,需要一个filelist.txt文件,里面内容如下
file 'output1.ts'
file 'output2.ts'
合并视频命令
ffmpeg -f concat -i filelist.txt -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
ffmpeg -i "七月算法 概率面试题精讲.flv" -r 10 -b:a 32k 1.mp4
rtsp://admin:password@192.168.0.100
https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu/README.html
apt-cache show nginx | grep -i version
sudo apt-cache search r-base-core
source filepath 与 sh filepath 、./filepath的区别:
当shell脚本具有可执行权限时,用sh filepath与./filepath是没有区别的。./filepath是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。
sh filepath 会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新建的,其改变的变量不会被带回父shell,除非使用export。
source filename其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
客户端(也就是各种软件)将绘图请求发给服务端,服务端操纵显卡或视频终端把位图图像绘制出来,并处理键盘鼠标的事件,发送给客户端.注意,和人交互的是服务端.
https://www.jianshu.com/p/94be015e3052
http://www.360doc.com/content/14/0926/16/5470123_412525297.shtml
GTK,GTK+, Qt是图形界面开发库(GUI Toolkit),用户可以使用这些开发库编写GUI应用,其中GTK+是GTK的升级版。
KDE,GNOME,Unity是linux下的桌面环境(Desktop Environment),其中KDE使用Qt开发,GNOME使用GTK+开发。桌面环境一般具有一组实用程序,窗口管理器和设计规范来创建统一的桌面。Unity是Canonical公司基于GNOME开发的一个桌面环境,它使用了GNOME的一些实用程序(Nautilus, RhythmBox等),并用于Ubuntu操作系统。
简单来说:为了方便开发人员编写X clients,就有了Xlib来封装X协议;Xlib还不够方便,于是就有了qt和gtk,它们提供了很多窗口控件(widgets)。为了方便用户 ,就出现了gnome和kde等桌面管理系统。一般来说,linux用户看到的界面就是其中之一了。gnome用的是gtk库,kde用的是qt库
init 3
startx
ctrl+alt+backspace
返回字符界面xinit
打开XTERM,不能移动,但是可以打开程序mozilla
用startx起动图形界面的时候同时也启动了一个WM(即窗口管理器),如果你用KDE就起动了KDE,如果你用GNOME就起动了GNOME.但是你用xinit起动图形界面的时候却没有起动WM. 窗口管理器作用就是最大化,最小化,移动,关闭窗口等.而这些不是X服务器来负责完成的.
①先使用 gg 命令使光标回到第一行
②shift+v 进入可视模式
③shift+g 全选
④按下 = 即可
https://xugaoxiang.com/2020/01/08/ssr/
sudo apt-get install shadowsocks
sslocal -s 服务器IP -p 服务器端口 -l 本地端口 -k 本地密码 -m 加密方式
sslocal -s 192.168.1.1 -p 8080 -l 1080 -k mima -m aes-256-cfb
https://www.debian.org/doc/manuals/maint-guide/
/var/lib/apt/lists/
使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录/var/lib/dpkg/available
文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 ubunt 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包./var/cache/apt/archives
目录是在用 apt-get install 安装软件时,软件包的临时存放路径/etc/apt/sources.list
存放的是软件源站点dpkg -L <package_name>
查询系统中已安装的软件包所安装的位置.dpkg -r
卸载软件包.不是完全的卸载,它的配置文件还存在.apt-cache show <package_name>
查询已安装的包的详细信息dpkg -I hello_1.0-1_amd64.deb
查询deb包的详细信息sudo apt-get install transmission-daemon
使用 ctrl + z 把这个命令挂起(Suspend)
使用 jobs 命令查看后端命令,只是你会发现这个命令是 stopped 状态
使用 bg %N (注意,这个N是对应的编号),让这个命令后端执行
再次使用 jobs 命令查看,发现那个命令的状态就变为 running 了,就是已经是后台执行了
使用 disown -h %N,使这个进程运行在新的会话里,从而成为不属于此终端的子进程
exit正常退出这个终端
sudo apt-get install vsftpd
sudo systemctl status vsftpd
vim /etc/shells
{
"key": "ctrl+enter",
"command": "workbench.action.terminal.runSelectedText",
"when": "editorTextFocus && editorHasSelection"
}
https://blog.csdn.net/small_wu/article/details/125072454
https://blog.csdn.net/weixin_42584507/article/details/116927599
主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。
被动模式只需要服务器端开放端口给客户端连接就行了。
https://blog.csdn.net/zxw136511485/article/details/79460671
https://blog.csdn.net/weixin_44901564/article/details/108059263