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

如何杀死一个已经detached的screen会话?

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 输出音频的格式
posted @ 2018-06-02 11:25  健康平安快乐  阅读(429)  评论(0编辑  收藏  举报