Linux常用命令

Posted HUTEROX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。

用户相关指令

用户创建

在Linux当中用户分为两大类一个是普通用户,另一个是有更高权限的给管理员用户,其中等级最高的是默认的ROOT用户。所有的软件的安装都需要有足够的权限,换一句话说普通用户在安装软件时都需要使用sudo命令来获取权限

useradd 命令创建用户
参数:
    -m 创建home目录(在Ubuntu当中加入此参数创建,在Centos当中则不需要,会默认)
    -M 不创建home目录
    -s 指定shell解析脚本
示例:
    useradd huterox -m -s /bin/bash

用户删除

userdel 删除用户
参数:
    -r 删除用户的同时删除home目录
    -f 强制删除
示例:
useradd huterox
useradd -rf huterox

密码修改

passwd username 
当不指定username的时候,会修改当前用户的密码

whoami 命令查看当前用户是谁

pwd 命令查看当前所在目录

用户组的操作

组是可以更好的管理用户,给予用户相应的权限。在创建用户时,会自动创建用户组。

groups username 查看当前用户所在组
<用户名> <组名>

添加组

gpasswd -a <组名> <用户名>
gpasswd -a huterox boy

删除

gpasswd -d <组名> <用户名>
gpasswd -d huterox boy

高权限用户

在很多适合我们需要另一个和ROOT一样具有足够权限的用户,因此我们需要提高用户的权限。这些过程需要使用ROOT用户或者与之有一样权限的用户才能操作。

一.添加用户组
将普通用户添加入具有高权限的用户组。
修改sudoers文件添加用户
在Centos也Ubuntu当中有所区别的是,Ubuntu所添加的组为sudo

gpasswd -a huterox root(centos)
gpasswd -a huterox sudo(ubuntu)

特殊用户目录

/etc/passwd 查看用户名

/etc/shadow 查看用户密码(已加密)

软件安装

apt&yum自动安装

在Ubuntu是使用apt源进行安装而centos是yum,用法都类似

apt

apt install 包  下载与安装
apt search 包   搜索仓库是否有这个包
apt info 包     查看包的信息
apt remove 包   卸载包
apt autoremove  自动卸载
apt list --installed 列出已安装
		 --upgradeable 可更新
apt update 包,不加包全部检查 检查更新,但是不跟新
apt upgrade 包,不加包全部检查 检查并更新

yum

yum install 包  下载与安装
yum search 包   搜索仓库是否有这个包
yum info 包     查看包的信息
yum remove 包   卸载包
yum autoremove  自动卸载
apt list installed 列出已安装
		 upgradeable 可更新
yum update 包,不加包全部检查 检查更新,但是不跟新
yum upgrade 包,不加包全部检查 检查并更新

手动安装

手动安装需要先下载到源文件,之后进行编译安装,配置环境变量。下面以安装python3 为例子

一.到官方下载包
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
二.解压
tar -zxvf Python-3.7.0.tgz
三.进入文件
cd Python-3.7.0/
四.指定目录安装(启动优化,指定在usr目录下安装,指定ssl)
./configure --enable-optimizations --prefix=/usr/local/python3.7/ --with-ssl-default-suites=openssl
五.构建安装
make & make install

最后一步配置环境变量

环境变量配置

Ubuntu

1.修改 /etc/bash.bashrc文件或者/etc/profile(相当于系统环境变量win)

如果没有PATH选项的化安装这个添加,如果有那么直接在PATH后面添加 :目录 ```

2.直接修改当前用户下的.bashrc文件(相当于用户变量) 按照刚刚的方式添加

Centos

和上面的一致但是修改 /etc/bash_profile 或者 ~/.bash_profile

变量生效
要么重启
要么使用source执行文件,例如:

source .bash_profile

文件权限

首先使用chmod修改文件权限

r 读的权限 4
w 写的权限 2
x 执行权限 1

文件权限显示

下面是一个例子
修改文件执行权限

>  chmod a+x hello.txt
>  chmod a=wrx hello.txt
>  chmod 777 hello.txt
>  chmod 774 hello.txt 

VIM编辑器的简单使用

命令模式

按下ESC 切换为命令模式

dd 删除一行 ndd删除n行
u 撤销
ctrl + r 反撤销
yy赋值一行 nyy赋值n行(往下复制)
p 粘贴
G 定位最后一行
0 行首
end 行尾
x删除光标右边的一个文字 nx删除n个
X删除左边的 nX删除n个
shift +z +z 保存退出

底线命令模式

在命令模式下按下:进入

w 保存修改
q 退出
q! 不保存强行退出
wq 保存退出
e! 放弃修改
n 光标定位到n行
/x 查找x(从上往下找)
?x 查找x(从下往上)

查找替换

查看此命令:1,100/0/100/cige
解析:从1,到100行查找0替换为100(1,100/0/100)
c:是否确定修改
i:忽略大小写
g:全局模式当同一行出现多个符合情况的匹配项是
e:忽略报错
(/cige)

编辑模式

同样需要先切换为命令模式

i:进入插入模式
I:在第一个非空字符下插入
a:在光标右边插入
A:在光标所在行行尾插入
s:删除光标所在位置的文字插入
S:删除所在行插入
o:光标所在行下一行
O:上一行

宏操作

  1. 回到命令模式
  2. 按下q+其他按键例如按下 q + a
  3. 此时出现recoding的字样表明正在录制
  4. 开始录制
  5. 按下q结束录制

播放宏

n@a
n(执行次数,从上往下)
@a (执行在a里面保存的录制操作)

多文件操作

vim 文件1 文件2
底线命令模式下
:ls查看文件
:b n 切换第几个

`

:vs 垂直显示
:sp 水平显示

crtl + w +w 切换文件(也可以)

查找&过滤

find 查找

man find 查看手册
常用参数如下:
-name 按照名字来找
-size +10M 找大于10mb的文件(-10M小于的)
-ctime 0 当天创建的
-mtime 0 当天修改的(1一天前修改的)
-atime 最后访问时间
-type 文件类型(d f l …)

使用例子:
find 目录 -name "*.html"
在目录下寻找html文件
find ~/ -iname "*.html"|grep a
在用户目录下忽略大小写按照名字寻找html文件将信息过滤含有文件名含有字母a的html文件

find与其他命令配合

命令格式

find 目录 模式(-name...) 查找内容 -exec 命令 {} \\;
{}为每次寻找到的结果
 \\;是为了闭合命令,必须要加
示例:
find ~ -name "*.html" -exec cp -f {} /html/ \\;

grep

管道过滤
主要是对结果进行过滤常常与许多命令配合使用

grep 目标 文件
或者 xx命令|grep 目标
grep hello hello.txt在hello文件里面寻找hello
grep -E "\\<\\/?Script\\>" index.html
-E支持正则

常用远程命令

ssh远程连接

ssh username@IP 

scp远程安全拷贝

scp /home/hello.txt username@IP:/home/
将本地的hello文件拷贝到另一个服务器(或者用户)的home目录下

sftp安全文件操作

1.连接目标

sftp username@IP 
此时命令分为两大类
l+命令表示本地操作命令
反之为远程主机的操作命令
get hello.txt /home/
将远程主机的hello文件下载在home目录下
(get hello.txt 下载到当前目录下)
put hello.txt 上传
put hello.txt /home/ 上次到远程主机的home目录下

man文档查看

更多操作命令可以使用
man + 命令查看
例如:

man ls
man scp


按下crtl+z关闭

以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

Linux常用文件管理命令

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C#常用代码片段备忘

常用python日期日志获取内容循环的代码片段