Linux大数据开发常用基础命令
前言
Linux操作系统作为服务器端的主流系统,开发人员难以避免与Linux系统打交道,初步从Windows用户使用Linux系统时,总是有一些不适应之处,但当我们了解了这个Linux系统的一些面貌的时候,又会对此心生热爱。而Linux在服务器端的操作总是需要一些我们命令窗口去进行操作。本文旨在总结在实际中使用的较多的命令,而不是去详尽的罗列所有的Linux手册的教程,为了让我们快速上手Linux的一些操作并对Linux渐生爱慕之意。让我们带着探寻的好奇心一道发出吧。再开始旅程之前,首先需要一些对于Linux目录结构的简单了解的知识,才能方便我们接下来的旅程。
温馨提示:本文基于CentOS 7进行示例演示。
VI/VIM编辑器的命令已在另一篇文章中有简单罗列,且VI/VIM编辑器篇是站在一个有过接触Linux或者有简单操作VIM编辑器的使用者角度去书写的,对于初学者不甚友好,之后会有时间做一版更新。
另附上重置root用户密码的教程:http://www.linuxprobe.com/reset-root-password/ ,请有需要的小伙伴自取。
一、常用基础命令之帮助命令
1.man命令
语法:man [命令或配置文件] (功能描述:获得帮助信息)
- 使用格式:man 待查看命令
- 以查看ls 为例
- 以查看ls 为例
man命令的操作按键
按键 | 用处 |
---|---|
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 直接到页首 |
[END] | 直接到达页尾 |
/关键字 | 从上至下搜索某个关键字,如“/linux” |
?关键字 | 从下至上搜索某个关键字,如“? linux” |
n | 定位到下一个搜索到的关键字 |
N | 定位到上一个搜索到的关键字 |
q | 退出帮助文档 |
Tips:我们可以通过q退出查看信息界面
帮助信息是足够丰富的也是有所冗余的,且描述信息有时候并不能让我们充分理解阐述的意思,so,我们只需要明白在实际中比较常用的命令即可。
2.help命令
语法:help 命令 (功能描述:获得shell内置命令的帮助信息)
- 同样以查看cd命令为例
首先对于help定义的是查看shell内置的命令,我们不必要去关注那些命令是shell内置,那些不是(ls就不能使用help查看,可以使用man:man ls 或 info: info ls 命令进行查看),且help的信息展示是英文描述,一般实际先使用 man查看,若man不能查到,在使用help进行查看。
tips : info 和man 雷同,只是man是info命令通过Linux中国社区翻译而来
3.常用快捷命令
常用快捷键 | 作用 |
---|---|
ctrl+c | 停止进程 |
ctrl+l | 清屏,等同于clear命令 |
ctrl+q | 退出,主要使用在本文编辑器锁屏时退出锁屏模式 |
tab键 | 补全命令 |
上下键 ↑ ↓ \uparrow \downarrow ↑↓ | 查找执行过的命令 |
二、文件目录类(重点掌握)
1.pwd 显示当前工作目录
pwd:(print working directory):显示当前的工作目录
语法:pwd [选项]
参数
参数 | 作用 |
---|---|
-P | 显示真实路径。即非快捷链接的地址 |
通过结果的显示,对于软链接,-P 选项就是显示真实的软链接指向的地址。
2.cd 切换目录
cd:(change directory) 切换目录
格式语法:cd [目录名称]
选项
参数 | 作用 |
---|---|
- | 切换到上一次的目录 |
~ | 切换到"家目录", |
~username | 切换到其他用户的家目录,如“cd ~test” |
.. | 切换到上级目录,cd… |
3.ls 列出目录内容
ls:(list): 列出目录内容,即查看目录中有哪些文件
格式语法:ls [选项] [文件]
选项
参数 | 作用 |
---|---|
-a | 查看全部文件(包括隐藏文件) |
-d | 仅看目录本身 |
-h | 易读的文件容量(文件默认大小单位为byte,该参数用于将单位转换为kbytes、mbytes、Gbytes) |
-l | 显示文件的详细信息 |
4.mkdir 创建目录
mkdir:(Make directory) 建立目录
格式语法:mkdir [选项] 目录
选项
参数 | 作用 |
---|---|
-m=MODE | 默认的文件目录权限,如“-m 755” |
-p | 连续创建多层目录(若文件已存在则忽略) |
-v | 显示创建的过程 |
创建一个名字为TestB的目录:
一次创建3个目录a/b/c
5.rmdir 删除空目录
rmdir:(remove directory)删除空目录
语法:rmdir [选项] directory 要删除的空目录,注意只能是空目录
选项
参数 | 作用 |
---|---|
-p | 删除多个目录 |
-i | 忽视非空目录删除的错误提示 |
我们书接上回,刚刚使用mkdir 连续创建了 a/b/c 现在我们尝试删除a/b/c目录
这时候就需要使用-p 参数来进行一次性删除(我们需要再次将c目录创建完成,不然会报找不到a/b/c目录)
我们一再强调rmdir是用来删除非空目录的命令,当我们使用这个命令来删除非空目录时看看会发生什么吧?
在日常的开发中,我们也很少使用rmdir命令,更多是使用rm命令来进行删除文件或者目录,rm命令后边会讲到。
6.touch 创建空文件
touch: 创建空文件与修改文件时间
基本语法:touch [选项] filename
对于在Linux中的文件有三种时间:
- 更改时间(mtime):内容修改时间(不包含权限的)
- 更改权限(ctime):更改权限与属性的时间
- 读取时间(atime):读取文件内容的时间
选项
参数 | 作用 |
---|---|
-a | 近修改"访问时间" (atime) |
-m | 近修改"更改时间" (mtime) |
-d | 同时修改atime和mtime |
-t | 要修改时间为[YYMMDDhhmm] |
我们在testA目录下创建一个空文件:createFile.txt
tips,在日常开发中,我们一般较少使用touch,而是使用vim直接创建并编辑文本
7.cp 复制
cp:(copy) 复制文件或目录
格式语法:cp [选项] 源文件 目标文件
复制命令的三种情况:
- 目标文件是一个目录,会将源文件复制到该目录中
- 目标文件是一个文件,会将源文件覆盖改文件
- 目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)
选项
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为链接文件,则保留链接文件的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr |
接上步,我们将创建的createFile.txt 复制为copyfile.txt
8.mv 移动文件或重命名
语法格式:mv [选项] 文件名 [目标路径|目标文件名]
我们将上一步的createFile.txt重命名为create.txt
-
mv createFile.txt create.txt
将testA中的文件create.txt移动到TestB目录下 -
mv create.txt …/TestB/
9.rm(remove):移除文件或目录
基本语法:
rm [选项] 文件或目录名
选项
参数 | 作用 |
---|---|
-f | 忽略警告信息 |
-i | 删除前先询问 |
-r | 删除文件夹 |
删除log.txt文件
- rm log.txt
输入y即确认
删除TestB文件夹 - rm -rf TestB
10.cat 查看文件
语法格式:cat [选项] [文件]
选项
参数 | 作用 |
---|---|
-n | 显示行号 |
-b | 显示行号(不包括空行) |
-A | 显示出“不可见”的符号,如空格、tab键等 |
- 命令 cat 文件名
11.more文件内容分屏查看
语法格式:more [选项] 文件名
选项
参数 | 作用 |
---|---|
- 数字 | 预先显示的行数(默认为一页) |
- d | 显示提示语句与报错信息 |
12 less分屏显示文件。同more
13 echo输出内容到控制台
语法格式:echo 字符串
14 head显示文件(纯文本)头部内容
语法格式:head [选项] [文件]
选项
参数 | 作用 |
---|---|
-n 10 | 显示10行 |
-n -10 | 正常输出,如cat,但是不显示最后10行 |
15 tail输出文件尾部内容
语法格式:tail [选项] [文件]
选项
参数 | 作用 |
---|---|
-f | 持续刷新显示的内容 |
-n 10 | 显示后面的10行 |
三、用户管理类
1.useradd 添加用户
语法格式:useradd [选项] 用户名
选项
参数 | 作用 |
---|---|
-d | 指定用户的家目录(默认为/home/username) |
-D | 展示默认值 |
-e | 账号有效截止日期,格式:YYYY-MM-DD |
-g | 制定一个初始用户组(必须已存在) |
-G | 指定一个或多个拓展用户组 |
-N | 不创建与用户同名的用户组 |
-s | 指定默认的shell |
-u | 指定用户的UID |
创建一个名为linuxprobe的用户
- useradd linuxprobe
2.passwd 修改用户密码
语法格式:passwd [选项] [用户名]
修改当前用户的密码 passwd
修改其他用户的密码 passwd 其他用户名
选项
参数 | 作用 |
---|---|
-l | 锁定用户禁止其登录 |
-u | 解除锁定,允许用户登录 |
-stdin | 允许从标准输入修改用户密码:如echo “password”|passwd -stdin username |
-d | 使账号无密码 |
-e | 强制用户下次登录时修改密码 |
-S | 显示用户的密码状态 |
为刚创建的用户设置密码
- passwd linuxprobe xxxxxx
3.id 查看用户是否存在
语法格式:id 用户名
- 查看刚刚创建的用户linuxprobe
- id linuxprobe
4.cat /etc/passwd 查看创建了那些用户
通过命令查看/etc/passwd文件即可
5.su (swith user)切换用户
su 用户名称 切换用户,只能获取用户的执行权限,不能获取环境变量
su - 用户名称 ,切换到用户并获得该用户的环境变量及执行权限
6.userdel 删除用户
userdel 用户名 删除用户但保存用户主目录
userdel -r 用户名 删除用户和用户主目录
我们执行了userdel linuxprobe ,其家目录下依旧存在其主目录
创建test用户并删除
userdel -r test
8.sudo 设置普通用户具有root权限
编辑 /etc/sudoers 文件
9.who 查看登录信息
语法格式:whoami 显示自身用户名称
who am i 显示登录用户的用户名q
10.usermod 修改用户
语法格式:usermod -g 用户组 用户名
总结:
Linux命令更多的是需要我们在日常使用中经常去使用他们,命令是简单的,记录文章的用处更多是作为我们查阅的一个工具。