Linux 命令梳理

Stella981
• 阅读 807

Linux 命令梳理

待梳理命令

nohup

用户管理

useradd

新建用户

sudo useradd {user name} -s /bin/bash -d /data/{user name} -m
sudo useradd hdx -s /bin/bash -d /data/hdx -m  # 创建用户 hdx,并指定bash为/bin/bash、家目录 /data/hdx

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

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/

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 像 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 # 无限次重试
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这