Linux 常用命令

Linux命令分为两类,内部命令和外部命令。内部命令比如cd、ls等等,外部命令就是shell文件。
命令的格式:command [-选项] 参数

常用的命令

pwd 查看当前工作目录
ls 查看目录中的子文件
cd 进入目录
su 获取管理员权限
init 改变系统运行登录
runlevel 显示系统运行登录
startx 启动窗口界面
passwd 更改密码
clear 清屏
exit 退出当前工作环境或退出系统
dir 查看当前目录下的文件和文件夹
whoami 使用当前权限的用户
who am i 查看登录的用户
haltpower offshut down 关机
reboot 重启
man 命令 查看帮助 命令 --help
du [-h] [-s] 查看磁盘容量
df 查看分期
ps -A 查看进程
kill –9 进程号pkill 进程名杀死进程
grep 搜索字符串
control + U 撤销非乱七八糟输入

关于目录和文件的命令

cd 改变工作目录

cdcd ~ 进入主目录
cd ../ 相对路径
cd /../.. 绝对路径

mkdir 创建目录

mkdir dir 创建目录
mkdir dir1/dir2dir1目录下创建dir2(dir1必须存在)
mkdir -p dir1/dir2 递归创建目录(dir1不存在)
mkdir dir1 dir2 dir3 创建多个目录
rmdir 删除目录
rm –rf 文件/目录 删除文件或文件夹

cp 复制文件或目录

cp file dir 将file复制到dir中
cp file1 dir/file2 将file1复制到dir中并改名为file2
cp file1 ./file2 将file1复制一份,并改名为file2

mv 移动文件或文件夹

mv file1 file2 将file1改名为file2
mv file1 dir1 将file1移动发哦dir1下
mv dir1 dir2 如果dir2不存在就是将dir1改名为dir2,如果dir2存在将dir1移动到dir2下。
mv dir1 dir2/dir3 dir3不存在就是将dir1移动到dir2中并改名为dir3。

查看文件内容

cat file 将file文件内容全部显示
tac file 将file文件内容反向查看
cat file1 file2 > file3 将file1和file3的内容合并到file3中
more file 分屏显示,按回车键显示 不能上翻
less file 分屏显示,可以上下翻
head –n file 显示前n行
tail -n file 显示后n行动态查看:tail -n 5 /etc/group
wc file 显示文件的行数,句数 字符数

创建和向文件中添加内容

touch file 创建文件,可以一次创建多个
echo 内容 > 文件将内容清空写入文件
echo 内容 >> 文件将内容追加写入文件
cat file1 > file2将file1的内容清空写入到file2
cat file1 >> file2将file1的内容追加写到file2中

##用户和组的操作

useradd 添加用户

useradd uiste添加用户同时创建同名的组
useradd -g group_name uiste添加用户指定所属组
useradd -d home_path uiste添加用户指定家目录

uesrmod 修改用户

-c comment修改备注信息
-l login_name修改登录名称
-d home_dir修改用户的家目录
-g group_name修改用户所属组

userdel 删除用户

-r同时删除用户的家目录

增加组

groupadd添加组
groupadd -g 组编号 itcast2

修改组

groupmod -n myitcast itcast修改组名称
groupmod -g 504 myitcast 修改组编号

删除组

groupdel 组名称 删除组

查看组

tail -n 5 /etc/group查看最后五条信息

文件:/etc/group 组信息

组名称

  1. 组密码(X占位符)
  2. 组编号(超级管理员0,1-499默认给系统使用,500+自定义用户组)
  3. 组内用户

    组密码:/etc/gshadow 目前组密码没有使用

  4. 组名称
  5. 组密码(!没有密码)

    用户

    文件:/etcpasswd

  6. 用户名
  7. 密码占位符
  8. 用户编号
  9. 用户所属组编号
  10. 用户全名(备注)
  11. 用户家目录
  12. 用户能够使用的指令(bin/bash用户表示可以登录到操作系统中,bin/nologin表示用户不能够登录到系统)

    密码:/etc/shadow

  13. 用户名
  14. 用户密码,散列算法加密密码。使用!!表示用户没有密码的用户不能登录到系统

    设置用户口令 passwd

    passwd uiste (设置密码注意,检验过程)
    -S: status查看某个用户的状态
    -l: lock锁定某个用户,不能正常登录
    -u: unlock解除锁
    -d:delete清空用户密码

    禁止普通用户登录

  15. 锁定
  16. 删除密码
  17. 修改用户密码文件直接在前面加上 !!
    1. vim /etc/shadow
    2. 对应用户密码前面增加两个感叹号
  18. 禁止所有普通用户登录
    1. 在etc目录下创建一个空文件 nologin
    2. touch nologin
  19. 用户相关的其他命令
    1. su : 切换用户
    2. whoami:我是谁
    3. id:用户信息
    4. groups:用户所属组
  20. 用户资料信息
    1. chfn 用户名:添加备注信息
    2. finger 用户名:查看用户信息
      1. `cd /bin`与`cd /sbin`找不该命令
      2. 安装
      
  21. 赋予用户特殊权限
    1. 直接编辑 /etc/sudoers
    2. visudo 修改文件
    3. 操作步骤
      1. useradd dumin创建用户
      2. passwd dumin创建密码
      3. whereis useradd查询某个命令所在位置
      4. 修改/etc/sudoers文件给某个普通用户赋予权限
        1) `dumin localhost = /user/sbin/useradd`
        
      5. 切换用户执行命令
        1)` su dumin`
        2) `sudo -l `显示拥有权限 
        
  22. date 查看或设置系统日期时间
  23. | 管道运行符

    文件权限

  24. 第一列:代表文件权限信息
  25. 第二列:文件节点数
  26. 第三列:文件所有者(用户)
  27. 第四列:文件所属组(组)

    字母含义

  28. 第一个字母表示文件类型,-表示普通文件,d表示文件夹
  29. 后面九个字母,每三个为一组
  30. 第一组:所有者的权限
  31. 第二组:所有组的权限(所有组所在的组其他用户对文件的权限)
  32. 第三组:组外用户的权限
  33. 最后一个点,表示文件具备selinux安全

    文件权限数字转换,777,755,644

    § r可读权限,使用数字4表示
    § w写入权限,使用数字2表示
    § x执行权限,使用数字1表示
    § 0代表没有权限
    § 777分别对应了所有者,组内用户,组外用户

    修改文件权限

    chmod修改权限
    [uiste@localhost ~]$ chmod -R 777 1.php
    -R参数表示递归
    chown修改文件拥有者
    chown -R uiste 1.php
    chown -R uiste.uiste 1.php

    chgrp修改所属组

    chgrp -R root 1.php
    基本语法:ln -sn 源文件地址 目标地址

    创建软连接

    相当于windows下的快捷方式

    vim(vi)

  34. 查看vim是否存在
  35. vi file file存在就打开,不存在就新建后打开
  36. vi + filename /vi + n + filename 打开文件定位到指定行数
  37. vi + string filename打开文件并定位到string
  38. vi有三种模式命令模式、末行模式、编辑模式
  39. 末行模式
    1. 进入末行模式
    2. :w保存
    3. :w!强制保存
    4. :q退出
    5. :q!强制退出
    6. :wq 保存退出 :x
    7. :wq!强制保存退出
    8. set numberset nu 设置行号
    9. set nonumberset nonu 取消行号
    10. :n 跳转到第n行
    11. /str 向下查找 n下一个 N上一个
    12. ?str 向上查找
    13. /xx/yy 将当前的xx改为yy
    14. s/xx/yy/g 将当前行的xx改为yy
    15. %s/xx/yy/g 将整个页面的xx改成yy
    16. u 撤销前一条指令
    17. . 继续上一条指令
    18. J连接上下两行
    19. r+指定字符 用指定字符替换当前字符
  40. 编辑模式:按i、o 、a、s进入编辑模式,退出esc退出编辑模式
  41. 命令模式
    1. 光标的移动
    2. 单词级别操作
    3. 行级操作
      1. $ 行尾
      2. 0 行首
    4. 段级
      1. { 段的开始
      2. } 段的结束
    5. 屏幕的级别
      1. H:head 屏幕的首部
      2. L:tail 屏幕的尾部
    6. 文档级
      1. G 移动到文档的尾部
      2. 3G 移动的文本的第3行
  42. 删除操作
    1. dd 删除当前行
    2. x 删除当前字符
    3. d+光标的区域 删除当前字符到光标达到的区域
  43. 复制
    1. yy 复制当前行
    2. p 粘贴