Linux 命令梳理
Linux 命令梳理
待梳理命令
nohup
time(https://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1)
用户管理
groupadd
新建用户组
groupadd {name of user group}
useradd
新建用户
sudo useradd {user name} -s /bin/bash # 创建用户,并指定其bash为/bin/bash
sudo useradd {user name} -m # 创建用户并生成家目录
sudo useradd {user name} -m -d /data/{user name} # 创建用户,并指定家目录
sudo useradd {user name} -g {group name} # 创建用户,并指定用户组
passwd
设置密码
sudo passwd {user name}
sudo passwd hdx # 为用户 hdx 设置密码
userdel
删除用户
sudo userdel {user name}
sudo userdel hdx # 删除用户 hdx
usermod
修改用户账户
sudo usermod {user name} -md {new home path}
sudo usermod hdx -md /data/hdx # 将用户 hdx 的家目录移动到 /data/hdx
groups
查看当前用户所属用户组
[developer@czd-uat-mysql253 fir]$ groups
developer
tmux
session
Commands | explanation |
---|---|
tmux list-sessions / tmux ls | 列出现有的 session |
tmux new -s [session name] | 创建一个 session |
tmux attach -t [session name] | 回到一个 session |
tmux detach | 离开当前 session |
tmux kill-server | 关闭所有 session |
tmux kill-session -t [session name] | 关闭指定 session |
快捷键
在 tmux 中直接通过默认前缀 ctrl + b 之后输入对应命令来操作。例如 <b-%> 对应这样的按键顺序 ctrl + b + %
commands | explanation |
---|---|
< b - % > | 左右分屏 |
< b - " > | 上下分屏 |
< b - 方向键 > | 焦点在不同面板间移动 |
<b - d> | 脱离当前会话,可暂时返回Shell界面 |
<b - c> | 创建新窗口 |
<b - &> | 关闭当前窗口 |
<b - [0~9]> | 数字键切换到指定窗口 |
<b - z> | 最大化当前所在面板 |
<b - [ > | 启动滚屏 |
Reference:
[1] 《tmux 指南》. https://wdxtub.com/2016/03/30/tmux-guide/
chown
更改 elasticsearch 文件夹所属的用户及用户组为 es 和 es-group
sudo chown -R es:es-group elasticsearch
sftp
几乎是比 rz sz 好用的文件传输方式。
sftp:/home/frank> help
# 与 Linux 保持一致的命令
rm # delete a file
rmdir # remove a directory on the remote server
cd # change your remote working directory
clear # clear screen
ls # list contents of a remote directory
mkdir # create a directory on the remote server
mv # move or rename a file on the remote server
pwd # print your remote working directory
# stfp 所特有的命令
lcd # change and/or print local working directory
lls # list contents of a local directory
lpwd # print your local working directory
get # download a file from the server to your local machine
put # upload a file from your local machine to the server
rename # move or rename a file on the remote server
tr
流式字符替换。
把空格符替换成换行符:
cat sogouT.utf8.txt | tr " " "\n" > sogouT.txt
sogouT.txt 中不会存在空格符了,因为已经全被替换成了换行符。
du
du can show how many disk space has been used. Such as :
du -h *
to show all of the file`s size in the current directory.
df
Show information about the file system on which each FILE resides, or all file systems by default.
df -h
7z
7z is one of a data compression format on Windows and Linux.
The command to install is :
apt-get install p7zip-full
The command to decompression is :
7z x {file name}
The command to compression is :
7z a -r {archive name}.7z {folder name}
zip
压缩
zip 压缩后文件名.zip 被压缩对象
unzip
解压至指定目录
-d 选项
unzip nmt.zip -d nmt
tar
压缩/打包
tar czvf 压缩后文件名.tar.gz 被压缩对象
解压缩
tar zxvf 被解压缩对象.tar.gz
screen
Creating a new session
screen -S SessionName
list all sessions
screen -list
resumes a detached screen session
screen -r SessionName
Kill detached screen session
screen -X -S [session you want to kill] quit
举例如下:
[root@localhost ~]# screen -ls
There are screens on:
9975.pts-0.localhost (Detached)
4588.pts-3.localhost (Detached)
2 Sockets in /var/run/screen/S-root.
[root@localhost ~]# screen -X -S 4588 quit
[root@localhost ~]# screen -ls
There is a screen on:
9975.pts-0.localhost (Detached)
1 Socket in /var/run/screen/S-root.
reference
ssh
login
ssh 用户名@IP地址
scp
upload
scp /本地文件路径 用户名@IP地址:/存放于远程主机的位置
download
scp 用户名@IP地址:/远程主机上文件路径
vim
.vimrc
syntax on
set nobackup
set noswapfile
set hlsearch
set number
set ruler
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set cindent
set smartindent
set mouse=v
set bg=dark
set encoding=utf-8
set nobomb
set cursorline
set magic
set confirm
set langmenu=zh_CN.UTF-8
set showmatch
set matchtime=1
set scrolloff=3
set completeopt=longest,menu
set t_Co=256
set wildmenu "<tab>自动不全
set wildmode=full "<tab>自动不全 zsh自动不全菜单
set history=200 "提高命令行历史记录的数目非常有价值
set undofile "un~ 文件统一存放
set undodir=~/.vimundofile
colorscheme darkblue
cnoremap <C-p> <Up> "命令行模式中 <C-p> 映射为 <Up>
cnoremap <C-n> <Down>
"加载插件的最小配置
set nocompatible
filetype plugin on
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o "禁止粘贴时自动注释
iptables
添加规则 开放 80 端口
sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Nginx
使 Nginx 像 Apache 一样列出目录下的文件。在 nginx/conf/nginx.conf 中添加:
autoindex on;
修改为英文环境
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
Nvidia GPU 服务器安装
挂载了 Nvidia GPU 的服务器在安装操作系统以后无法正常启动,会曝出如下错误:
[11.128989] nouveau E[DEVICE][0000:03:00.0] unknown chipset, 0x118010a2
[11.129037] nouveau E[ DRM] failed to create 0x80000080, -22
主要的信息是 unknown chipset。
解决方法是进入到 grub 设置里(在开机选择界面按 e 进入 grub 页面),在里面加入:
nomodeset rdblacklist=nouveau
具体方法参照如下链接:
https://askubuntu.com/questions/38780/how-do-i-set-nomodeset-after-ive-already-installed-ubuntu
wget
基本上,迅雷能干的事 wget 也都能干。比如断点续传,而且 wget 还能完成一些迅雷无法完成的使命,比如当下载速度特别慢时,迅雷会自动中断下载,然后需要用户手动重启下载服务。但是 wget 却可以通过设置 -t 参数为 0 来使得下载服务一直进行下去。wget 配合 tmux 基本上可以取代迅雷下载了。
wget \
-c # 断点续传 \
-t 0 # 无限次重试
ffmpeg
比特率 = 采样率 * 采样精度 * 声道数
将mp3格式音频转换为256kb比特率(bit rate)、16000Hz采样率(sample rate)、16bits采样精度(sample width)的wav音频。
ffmpeg -i data/raw.mp3 -ab 256 -ar 16k -ac 1 data/cook.16k16b1c256kb.wav
将wav语音转换成pcm。pcm是没有“音频头部信息”的wav。
ffmpeg -i data/cook.16k16b1c256kb.wav -f s16le data/cook.16k16b1c256kb.pcm
参数的解释如下:
参数 | 释义 |
---|---|
-i | 输入文件的路径 |
-ab | bit rate,音频码率 |
-ar | sample rate,音频采样率 |
-ac | channels,声道 |
-f | 输出音频的格式 |