Linux 笔记之基础命令

初识Linux

1.命令提示符

[root@localhost ~ ]#
  root  当前登录用户
  localhost  主机名
  ~  当前所在目录
  #  超级用户提示符(普通用户为 $)

2.命令格式

命令 [选项] [参数]
PS:个别命令使用不遵循此格式。当用多个选项时,可以写在一起如“ -a ”等于“ --all ”

3.文件权限(使用 ll 命令时可看到)

-rw-r--r--
 -(第1位)  //文件类型,- 为文件,d 为目录,l 为软链接文件
 rw-(第2-4位)  //所有者及权限 r 为读取 w 为写入 x 为执行
 r--(第5-7位)  //所属组及权限 r 为读取 w 为写入 x 为执行
 r--(第8-10位)  //其他人及权限 r 为读取 w 为写入 x 为执行

4.常用目录作用

  /     //根目录
  /bin  //命令保存目录
  /boot  //启动目录,启动相关文件
  /dev  //设备文件保存目录
  /etc  //配置文件保存目录
  /home  //普通用户家目录
  /lib  //系统库保存目录
  /mnt  //系统挂载目录
  /media  //挂载目录

常用命令

ls [选项] [文件或目录]    //查询目录中的内容
  -a  //显示所以文件,包括隐藏文件
  -l  //显示详细信息
  -d  //查看目录属性
  -h  //人性化显示文件大小
  -i  //显示inode

mkdir [选项] [目录名]    //新建目录
  -p  //递归创建

cd [目录]    //切换所在目录
  cd ~  //进入家目录
  cd  //进入家目录
  cd -  //进入上次目录
  cd ..  //进入上一级目录
  cd .  //进入当前目录
  cd /  //进入根目录

pwd    //查询所在目录位置
rmdir    //删除空目录

rm -rf [文件或者目录]    //删除文件或目录
  -r  //删除目录
  -f  //强制,不提示

cp [选项] [原文件或目录] [目标目录]    //复制命令
  -r  //复制目录
  -p  //连带文件属性复制
  -d  //如是链接,则复制连接属性
  -a  //相当于 -pdr

mv [原文件或目录] [目标目录]    //剪切或改名命令(不加目标目录为改名)

ln -s [原文件] [目标文件]    //生成链接文件
  -s  //创建软连接(快捷方式)

ps:硬链接,拥有相同的i节点和存储block块,可以看作是同一个文件。可以通过 i 节点识别。不能垮分区。不能针对目录使用。


w   //查看登录用户信息
  输出解释
  USER  登录的用户名
  TTY   登录的终端
  FROM  登录的ip
  LOGIN@  登录的时间
  IDLE  闲置的时间
  JCPU  终端连接的所有进程占用时间,包括现在后台进程
  PCPU  当前进程占用时间
  WHAT  当前运行的命令

who 用户名   //查看用户登录信息

last  //登录用户相关信息,读取/var/log/wtmp文件数据
lastb  //登录失败用户信息
lastlog   //所有用户最后一次登录时间,读取/var/log/lastlog文件内容

history [选项] [历史命令保存文件]   //历史命令
  -c   //请客历史命令
  -w   //把缓存的命令写入文件~/.bash_history

历史命令调用
  上下箭头调用以前的历史命令
  "!n"重复执行第n条命令
  "!!"重复执行上一条命令
  "!字符串"重复执行最后一条该字符串开头的命令

echo [选项] 输出内容   //输出命令
  -e  //支持反斜线控制字符转换

  反斜杠转义
  \a  警告阴
  \b  向左删除
  \n  换行符
  \r  回车键
  \t  tab键
  \v  垂直制表符
  \0nnn  按八进制输出
  \xhh   按十六进制输出

echo $PATH    //定义黄金变量搜索命令的路径

搜索相关命令

locate [文件名]    //快速搜索命令(在后台数据库中搜索)
 /var/lib/mlocate   //locate命令所搜索的后台数据库
 updatedb  //更新数据库命令
 /etc/updatedb.conf 配置文件设置
   PRUNE_BIND_MOUNTS = "yes"  //开启搜索限制
   PRUNEFS =   //不搜索的文件系统
   PRUNENAMES =    //不搜索的文件类型
   PRUNEPATHS =    //不搜索的路径

whereis [命令名]    //搜索命令所在路径及帮助文档位置
  -b    //只查找执行文件
  -m    //只插座帮助文档

which [文件名]    //搜索命令所在路径及别名

alias   //查看系统所有命令别名
alias 别名='原命令'   //设置命令别名
vi ~/.bashrc   //写入环境变量配置文件,别名永久生效
unalias 别名   //删除别名

PS:第一顺位执行用绝对路径或相对路径执行的命令,第二顺位执行别名,第三顺位执行bash的内部命令,第四顺位执行安装$PATH环境变量定义的目录查找顺序找到的第一个命令。

find [路径] [参数]    //搜索文件
  -name [文件名]    //按文件命令搜索,可以使用通配符
  PS:* 匹配任意内容,?匹配任意一个字符,[] 匹配任意一个中括号内的字符
  -iname [文件名]    //不区分大小写
  -user [用户名]    //按所有这搜索
  -nouser    //搜索没有所有者的文件
  -atime [参数]    //访问时间
  -ctime [参数]    //改变属性时间
  -mtime [参数]    //修改文件内容时间
  PS:参数可以为 -10 十天内,10 十天当天, +10 十天前
  -size [参数]    //按文件大小
  PS:参数可以为 -25k 小于,25k 等于,+25k 大于
  -inum [i节点]    //根据 i 节点搜索
  -a    //逻辑与,两个条件满足
  -o    //逻辑或,两个条件满足一个
  -exec [命令] {}\;    //对命令结果进行执行操作

grep [选项] 字符串 文件名    //在文件中匹配符合条件的字符串
  -i    //忽略大小写
  -v    //排除指定字符串

帮助相关命令

man [命令]    //获取指定命令的帮助
  man的级别
  1.查看命令帮助
  2.查看可被内核调用的函数帮助
  3.查看函数和函数库帮助
  4.查看特殊文件的帮助(主要是/dev目录下的文件)
  5.查看配置文件帮助
  6.查看游戏伴奏
  7.查看其它杂项伴奏
  8.查看系统管理员可用命令帮助
  9.查看和内核相关文件帮助

  man -f [命令]   //查看命令拥有哪个级别的帮助
  man -k [命令]   //查看命令所有帮助

[命令] --help    //获取命令选项的帮助

help [shell内部命令]    //获取shell内部命令帮助

whereis [命令]    //确定是否是shell内部命令

info [命令]    //详细命令帮助
  - 回车    //进入子帮助页面(带有*标记)
  - u   //进入上层
  - n   //进入下一个小节
  - p   //进入上一个小节
  - q   //退出

压缩及解压缩命令

zip [压缩文件名] [源文件]    //zip压缩文件
zip -r [压缩文件名] [源目录]   //zip压缩目录
uzip [压缩文件名]   //zip解压缩

gzip 源文件   //.gz压缩,源文件会消失
gzip -c 源文件 > 压缩文件    //.gz压缩,保留源文件
 例如:gzip -c abc > abc.gz
gzip -r 目录   //压缩目录下所有子文件,但不能压缩目录
gzip -d 压缩文件   //gz解压
gunzip 压缩文件    //gz解压

bzip2 源文件  //.bz2压缩,源文件消失,不能压缩目录
bzip2 -k 源文件   //.bz2压缩,保留源文件,不能压缩目录
bzip2 -d 压缩文件   //.bz2解压
bunzip2 压缩文件    //.bz2解压

tar -cvf 打包文件名 源文件  //打包命令
  -c   //打包
  -v   //显示过程
  -f   //指定打包后的文件名
  例如:tar -cvf abc.tar abc
tar -xvf 打包文件名   //解包

tar -zcvf 压缩包名.tar.gz 源文件    //.tar.gz 压缩
tar -zxvf 压缩包名.tar.gz   //.tar.gz 解压

tar -jcvf 压缩包名.tar.bz2 源文件   //.tar.bz2 压缩
tar -jxvf 压缩包名.tar.bz2   //.tar.bz2 解压

关机和重启命令

shutdown [选项] 时间   //关机和重启命令
  -c   //取消前一个关机命令
  -h   //关机
  -r   //重启

其它关机命令
  halt
  poweroff
  init 0

其它重启命令
  reboot
  init 6

logout    //退出登录

init [参数]  //系统运行级别
  0 关机
  1 单用户
  2 不完全多用户,不含NFS服务
  3 完全多用户
  4 未分配
  5 图形界面
  6 重启

vi /etc/inittab   //修改系统默认运行级别
  id:3:initdefault:  //修改位置

runlevel   //查询系统运行级别

用户及用户组命令

/etc/group   //存储当前系统中所有用户组信息
 - 组名称:组密码占位符:组编号:组中用户名列表

/etc/gshadow   //存储当前系统中用户组的密码信息
 - 组名称:组密码:组管理者:组中用户名列表

/etc/passwd   //存储当前系统中所有用户的信息
 - 用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型

/etc/shadow   //存储当前系统中所有用户的密码信息
 - 用户名:密码

groupadd [组名] //建立用户组
groupmod -n [新组名] [旧组名]  //用户组改名 
groupmod -g [编号] [组名]  //为用户组编号
groupadd -g [编号] [组名]  //添加用户组并编号
groupdel [组名]  //删除用户组(先删除用户组内的用户)
useradd -g [用户组] [用户名]  //创建用户并指定用户组
useradd -d /home/xxx imooc  //创建用户并指定个人文件夹
usermod -c [备注信息] [用户名]  //为用户名添加备注信息
usermod -l [新用户名] [旧用户名]  //用户改名
usermod -d /home/cls cls  //为用户更改个人文件夹
usermod -g [新用户组] [当前用户组]  //修改用户的用户组
userdel [用户名]  //删除用户
userdel -r [用户名]  //删除用户及用户个人文件夹
touch /etc/nologin  //除root用户,其它用户禁止登录

passwd -l [用户名]  //锁定用户
passwd -u [用户名]  //解锁用户
passwd -d [用户名]  //清除用户密码(空密码登录)

gpasswd -a [用户名] [用户组]  //添加用户到附属组
gpasswd -d [用户名] [用户组]  //用户从附属组删除
newgrp [用户名]  //切换到附属组
useradd [用户名] -g [主要组] -G [附属组1] [附属组2]...  //添加用户时指定主要组和附属组
gpassword [用户组]  //为用户组设置密码

su [用户名]  //切换用户身份,不加参数为切换到root账户
whoami  //显示当前登录用户
id [用户名]  //显示用户信息,编号、组名、组编号、附属组。。。
groups [用户名]  //显示用户所在的所以组
chfn [用户名]  //设置用户资料
finger [用户名]  //显示用户详细资料

vi/vim编辑器操作

vi/vim编辑器的三种操作模式

  1.命令模式
  2.输入模式
  3.底行模式(尾行,末行)

编辑模式常用命令

  vim + 文件名   //编辑模式进入到文件最后一行
  vim + (要切换的行数) 文件名   //定位到特定行
  vim +/文字 文件名   //在文件内找到该文字进行定位可用 n 切换字符
  vim 文件名1 文件名2 文件名3 ...  //同时创建多个文件

  #当有多个文件编辑时
  :n切换下一个文件
  :N切换上一个文件

底行模式常用命令

  :w  //保存
  :q  //退出
  :!  //强制执行
  :!wq  //保存直接退出
  :!q  //强制退出
  :ls  //列出打开的所以文件
  :n   //切换到后一个文件
  :N   //切换到前一个文件
  :(数字) //切换到对应指定行
  /(字符串)  //向后搜索对应字符串
  ?(字符串)  //向前搜索对应字符串

命令模式常用命令

  h 光标左移
  j 光标下移
  k 光标上移
  l 光标右移
  ctrl + f 下翻一页
  ctrl + b 上翻一页
  ctrl + d 下翻半页
  ctrl + u 上翻半页
  dd 删除光标所在行
  o 在光标所在行的下方插入一行并切换到输入模式
  yy 复制光标所在行
  p 在下行粘贴
  P 在上行粘贴

VIM键位指令图

1.4 - VIM键位指令图.jpg

常用快捷键

  Ctrl + c  强制终止当前命令
  Ctrl + l  清屏
  Ctrl + a  光标移动到命令行首
  Ctrl + e  光标移动到命令行尾
  Ctrl + u  从光标所在位置删除到行首
  Ctrl + z  把命令放入后台
  Ctrl + r  在历史命令中搜索
仅有 1 条评论
  1. 谢谢楼主的整理,最近学linux中,正需要

添加新评论