帮助命令
man
- 基本语法:man [命令或配置文件]
- 功能描述:获得帮助信息
- 内容说明:
- NAME 命令的名称和单行描述
- SYNOPSIS 怎样使用命令
- DESCRIPTION 命令功能的深入讨论
- EXAMPLES 怎样使用命令的例子
- SEE ALSO 相关主题(通常是手册页)
- 案例:[root@hadoop101 home]# man ls
help
- 基本语法:help 命令
- 功能描述:获得shell内置命令的帮助信息
- 案例:[root@hadoop101 bin]# help cd
- 补充:
- shell内置命令和外部命令的区别:
内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。
外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin......等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。
内部命令和外部命令最大的区别之处就是性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。
-
用type命令可以分辨内部命令与外部命令:
常用快捷键
命令 |
功能 |
ctrl + c |
停止进程 |
ctrl + z |
挂起进程 |
ctrl+l |
清屏 |
reset |
彻底清屏 |
ctrl + q |
退出 |
tab |
补全 |
上下键 |
查找执行过的命令 |
ctrl +alt |
linux和Windows之间切换 |
文件目录类
cd 切换目录
命令 |
功能 |
cd 绝对路 |
|
cd 相对路径 |
|
cd 或者 cd ~ |
回到自己的家目录(root用户即/root,普通用户即/home/用户名目录) |
cd - |
回到上一次所在目录 |
cd .. |
回到当前目录的上一级目录 |
cd -P |
跳转到快捷方式指向的实际地址(与软连接相关) |
pwd 显示当前工作目录的绝对路径
ls 列出目录的内容
命令 |
功能 |
ls |
展示所有文件,但隐藏文件不展示 |
ls -a [目录或是文件] |
全部的文件,连同隐藏的( 开头为 . 的文件) 一起列出来 |
ls -l [目录或是文件] |
长数据串列出,包含文件的属性与权限等等数据 |
mkdir 创建一个新的目录
命令 |
功能 |
mkdir 要创建的目录 |
|
mkdir -p 要创建的目录 |
创建多级目录 |
rmdir 删除一个空的目录
touch 创建空文件
cp 复制文件或目录
命令 |
功能 |
cp source dest |
复制source文件到dest |
cp -r sourceFolder targetFolder |
递归复制整个文件夹 |
rm 移除文件或目录
命令 |
功能 |
rmdir deleteEmptyFolder |
删除空目录 |
rm -rf deleteFile |
递归删除目录中所有内容 |
mv 移动文件与目录或重命名
命令 |
功能 |
mv oldNameFile newNameFile |
重命名 |
mv /temp/movefile /targetFolder |
递归移动文件 |
cat 查看文件内容
查看文件内容,从第一行开始显示。
命令 |
功能 |
cat 要查看的文件 |
在命令行显示目标文件的内容 |
cat -A 要查看的文件 |
相当于下面 -vET 的整合选项,可列出一些特殊字符而不是空白而已 |
cat -b 要查看的文件 |
列出行号,仅针对非空白行做行号显示,空白行不标行号! |
cat -E 要查看的文件 |
将结尾的断行字节 $ 显示出来 |
cat -n 要查看的文件 |
列出行号,连同空白行也会有行号,与 -b 的选项不同 |
cat -T 要查看的文件 |
将 [tab] 按键以 ^I 显示出来 |
cat -v 要查看的文件 |
列出一些看不出来的特殊字符 |
- 当用vim看文件看不出什么特殊符号导致的错误时,可以用cat -A 查看到
- 如果开发中,通过cat -A 命令发现有^M的特殊字符,这个文件基本上就要重写了,因为该字符很难删除
tac查看文件内容
查看文件内容,从最后一行往上倒叙显示。可以看出 tac 是 cat 的倒著写。
more 查看文件内容
查看文件内容,一页一页的显示文件内容。
- 基本语法 :more 要查看的文件
- 功能使用说明:
命令 |
功能 |
空白键 (space) |
代表向下翻一页 |
Enter |
代表向下翻『一行』 |
q |
代表立刻离开 more ,不再显示该文件内容 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
less 查看文件内容
less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回滚动。
命令 |
功能 |
空白键 (space) |
代表向下翻一页 |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页 |
/字串 |
向下搜寻『字串』的功能;n:向下查找;N:向上查找 |
?字串 |
向上搜寻『字串』的功能;n:向上查找;N:向下查找 |
q |
离开 less 这个程序 |
head查看文件内容
查看文件内容,只看头几行。
命令 |
功能 |
head -n 10 文件 |
查看文件头10行内容,10可以是任意行数 |
tail 查看文件内容
查看文件内容,只看尾巴几行。
命令 |
功能 |
tail -n 10 文件 |
查看文件尾10行内容,10可以是任意行数 |
tail -10f 文件 |
查看文件尾10行内容,10可以是任意行数 |
tail -f 文件 |
实时追踪该档的所有更新 |
重定向命令
命令 |
功能 |
ls -l > a.txt |
列表的内容写入文件a.txt中(覆盖写) |
ls -al >> aa.txt |
列表的内容追加到文件aa.txt的末尾(追加写) |
echo
命令 |
功能 |
echo 要显示的内容xxx >> 存储内容的的文件 |
将要显示的内容xxx,存储到文件中 |
echo 变量 |
显示变量的值 |
ln软链接
命令 |
功能 |
ln -s [原文件] [目标目录] |
给原文件创建一个软链接,软链接存放在目标目录中;类似于快捷方式,即目标文件指向原文件 |
rm -rf atguigu(而不是rm -rf atguigu/) |
删除软链接 |
- 软连接可以指向目录,也可以指向文件
- 根目录下(即/下)不能创建快捷方式
history 查看所敲命令历史
时间日期类
date显示当前时间
命令 |
功能 |
date |
显示当前时间 |
date +%Y(date和+之间有个空格,下面命令都是) |
显示当前年份 |
date +%m |
显示当前月份 |
date +%d |
显示当前是哪一天 |
date +%Y%m%d 或 date +%Y/%m/%d … |
显示当前年月日各种格式 |
date "+%Y-%m-%d %H:%M:%S" |
显示年月日时分秒 |
date显示非当前时间
命令 |
功能 |
date -d '1 days ago' |
显示前一天日期 |
date -d yesterday +%Y%m%d |
显示前一天日期 |
date -d next-day +%Y%m%d |
显示明天日期 |
date -d 'next monday' |
显示下周一时间 |
date设置系统时间
命令 |
功能 |
date -s "2017-06-19 20:52:18" |
设置系统时间 |
cal查看日历
命令 |
功能 |
cal |
显示本月日历 |
cal -3 |
显示系统前一个月,当前月,下一个月的日历 |
cal 具体年份 |
显示这一年的日历 |
用户管理命令
添加新用户
useradd 用户名
设置用户密码
passwd 用户名
判断用户是否存在
id 用户名
切换用户
命令 |
功能 |
su 用户名称 |
切换用户,只能获得用户的执行权限,不能获得环境变量 ?? |
su - 用户名称 |
切换到用户并获得该用户的执行权限及环境变量 ?? |
userdel 删除用户
命令 |
功能 |
userdel 用户名 |
删除用户但保存用户主目录 |
userdel -r 用户名 |
用户和用户主目录,都删除 |
who 查看登录用户信息
命令 |
功能 |
whoami |
显示自身用户名称 |
who am i |
显示登录用户的用户名 ?? |
who |
看当前有哪些用户登录到了本台机器上 |
设置atguigu普通用户具有root权限 ??
修改配置文件:
- 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) ALL
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用atguigu帐号登录,然后用命令 su - ,即可获得root权限进行操作。
查看创建了哪些用户
cat /etc/passwd
usermod修改用户所属组
命令 |
功能 |
usermod -g 用户组A 用户名a |
将用户a加入到用户组A中 |
网友评论