Linux常用指令

vi/vim的使用

  • yy 拷贝当前行
  • 5yy 拷贝当前行向下的5行
  • p 粘贴
  • dd 删除当前行
  • 5dd 删除当前行向下的5行
  • /xxx 在命令行模式下查找当前文件中的xxx,输入n查找下一个
  • :set nu / :set nonu 显示/取消行号
  • gg 正常模式下 光标移动到文件的首行
  • G 正常模式下 光标移动到文件的最末行
  • u 正常模式下 撤销动作 比如,我输入了一个hello,发现不对..于是.我就esc到正常模式.输入u就可以撤销刚刚的动作
  • shift+g 可以指定光标跳转到某行,这个三步走
  • shift+6 移动光标至行首
  • shift+4 移动光标至行尾
  • ........

shift+g跳转到指定行

第一步,显示行号
:set nu
第二步,输入要到多少行,比如输入20
第三步, 按下 shift+g

用户管理

添加用户

useradd xm
  • 当创建用户成功后,会自动创建和用户名同名的组,并将用户归属于这个组,同时创建与用户同名的家目录
  • 也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

一般都是第一种做法

设置密码

passwd xm
[root@iZ2ze0bp6do7s3u6jz6dsfZ ~]# passwd xm
更改用户 xm 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

这里如果密码太弱,会提示,不过你可以强制使用,(忽略提示,接着输入第二次密码既可)

删除用户

删除用户保留家目录
userdel xm
删除用户,同时删除家目录
userdel -r xm

这里,不建议删除家目录..尽量保留家目录

常用指令一览表

  • useradd username 创建用户username
  • useradd -g groupname username 创建username用户并加入groupname组,需要提前groupadd groupname
  • passwd username 给已创建的用户username设置密码,说明:新创建的用户会在/home下创建一个用户目录username
  • userdel [r] username 删除用户username
  • id username 查询用户信息,如果没有,会提示无此用户
  • su - username 切换到username用户
  • whoami 查看当前是哪个用户

用户组

指定用户在某一个组

// 创建 wudang 组
groupadd wudang
// 增加zwj用户同时增加到wudang组
useradd -g wudang zwj
[root@iZ2ze0bp6do7s3u6jz6dsfZ ~]# id zwj
uid=1002(zwj) gid=1002(wudang) 组=1002(wudang)

常用指令一览表

  • groupadd groupname 创建 groupname 组
  • groupdel groupname 删除 groupname 组
  • usermod -g groupname username 修改 username 这个用户的组修改为 groupname

用户和组相关的文件

/etc/passwd 用户配置文件(用户信息)

每行含义

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

zwj:x:1002:1002::/home/zwj:/bin/bash

zwj x 1002 1002 /home/zwj /bin/bash
用户名 密码,这里加密了 用户标识号 组标识号 主目录 shell

/etc/group 组配置文件(组信息)

每行含义

组名:口令:组标识号:组内用户列表

一般组内用户列表是看不到的

/etc/shadow 口令配置文件(密码和登录信息,加密)

每行含义

登录名:加密口令:最后一次修改时间:最小间隔时间:最大时间间隔:警告时间:不活动时间:失效时间:标志

指定运行级别

  • 0 : 关机
  • 1 : 单用户[找回丢失密码]
  • 2 : 多用户状态没有网络服务
  • 3 : 多用户状态有网络服务
  • 4 : 系统未使用,保留给用户
  • 5 : 图形界面
  • 6 : 系统重启

常用的运行级别是3和5,要修改默认的运行级别可以修改文件/etc/inittab的id:5:initdefault:这一行中的数字

文件目录类

  • pwd 显示当前工作目录的绝对路径
  • ls 显示当前目录文件
  • ls -a 显示包括隐藏文件的所有文件
  • ll -a 显示包括隐藏文件的所有文件,竖着排列
  • cd 切换目录
  • cd ~ 回到自己家目录
  • cd .. 回到上一级
  • mkdir dir 创建dir的文件
  • mkdir -p /data/dir 创建多级目录
  • rm 删除一个空文件目录
  • rm -rf 可以删除一个非空目录, -r递归删除整个文件夹, -f强制删除不提示
  • touch file2 file3 创建file2和file3文件
  • cp source dest 把source拷贝至dest
  • cp -r source dest 把source拷贝至dest 递归拷贝
  • mv oldNameFile newNameFile 如果在同一个目录下,就是重命名,如果不在同一目录就是移动
  • cat xxx 查看xxx文件
  • cat -n xxx 查看xxx文件,并输出行号
  • cat -n xxx | more 并分页显示,按空格下一页

清除buff/cache

设置sudo权限不输入密码

sudo su
vim /etc/sudoers
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
server  ALL=(ALL)       NOPASSWD: ALL