赞
踩
作者主页:编程指南针
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师
主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助
收藏点赞不迷路 关注作者有好处
文末获取源码
man [命令或配置文件] (功能描述:获得帮助信息)
通过man命令查看其它命令的详细文档,man 工具是显示系统手册页中的内容
信息 | 功能 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
查看ls命令的帮助信息
[root@java137~]# man ls
help 命令 (功能描述:获得shell内置命令的帮助信息)
查看cd命令的帮助信息
[root@localhost ~]# help cd
常用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
善于用tab键 | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
ctrl +alt | linux和Windows之间切换 |
ifconfig
命令 | 功能 |
---|---|
ls | 列出当前文件夹下文件名称 |
ls -l | 列出当前文件夹下文件名称和详细信息 |
ls -a | 查看隐藏文件 |
ls [文件]... | ls 后可以跟多个文件夹的名称, 一次可以查看多个文件夹中的内容 |
ll | 列出当前文件夹下文件名称和详细信息( ls -l 的简写) 注意此命令属于扩展命令, 有些linux版本不支持 |
重点掌握: ll 和 ls 常用的是ll 可以查看文件详细信息 ls只查看名称没有详细信息
命令 | 功能 |
---|---|
cd ~ | 切换至当前用户的跟目录 |
cd / | 切换至跟目录 |
cd .. | 切换至上一级 (注意空格) |
cd - | 退回上一次操作的目录路径 |
cd app | 切换到app |
pwd | 显示当前工作目录的绝对路径 |
mkdir(make directory)
命令可用来创建子目录
mkdir app 当前目录下创建 app 目录 mkdir -p a/b/c 级联创建目录
rmdir(remove directory)
命令可用来删除“空”的子目录:
rmdir app 删除app目录
==注意事项==
rmdir
只能删除空文件夹(目录)
如果删除多层目录,需要加上 -p参数【x】,这样删除不掉,后期删多级目录使用 rm
rmdir -p a/b/c
查看文件内容,从第一行开始显示。主要用于查看小文件
cat [选项] 要查看的文件
选项 | 功能描述 |
---|---|
-n | 显示所有行的行号,包括空行。 |
[atguigu@java137 ~]$ cat -n houge.txt
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
more 要查看的文件
操作 | 功能说明 |
---|---|
空格键 (space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
[root@java137 ~]# more smartd.conf
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开 less 这个程序; |
[root@java137 ~]# less smartd.conf
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。主要用于日志查询
(1)tail 文件 (功能描述:查看文件后10行内容)
(2)tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
[root@java137 ~]# tail -n 1 smartd.conf
[root@java137 ~]# tail -f houge.txt
选项 | 功能 |
---|---|
ll >文件 | 列表的内容写入文件a.txt中(覆盖写) |
ll >>文件 | 列表的内容追加到文件aa.txt的末尾 |
cat 文件1 > 文件2 | 将文件1的内容覆盖到文件2 |
echo “内容” >> 文件 | 将内容写文件中【掌握】 |
[root@java137 ~]# ls -l>houge.txt
[root@java137 ~]# ls -l>>houge.txt
[root@java137 ~]# echo hello>>houge.txt
touch 文件名称
[root@java137 ~]# touch xiyou/dssz/sunwukong.txt
mkdir 创建目录的
touch 文件的名称
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。ca
示例 |
---|
cp a.txt b.txt : 将a.txt复制为b.txt文件 |
cp a.txt ../ : 将a.txt文件复制到上一层目录中 |
cp -r xiyou/dssz/ ./ : 递归复制整个文件夹。 -r:递归复制整个文件夹 |
1. mv oldNameFile newNameFile (功能描述:重命名) 2. mv /temp/movefile /targetFolder (功能描述:移动文件)
示例 |
---|
mv a.txt ../ : 将a.txt文件移动到上一层目录中 |
mv a.txt b.txt : 将a.txt文件重命名为b.txt |
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
命令 | 功能 |
---|---|
rm a.txt | 删除a.txt文件 (需要确认,输入yes 或y) |
rm -f a.txt | 不询问,直接删除 a.txt |
rm -r app | 删除app目录(需要确认,输入yes 或y,递归) |
rmdir app | 删除app目录(必须为空否则无法删除) |
rm -rf a | 不询问递归删除a 及其子目录下的东西 |
rm -rf * | 删除当前文件夹及其自目录 |
rm -rf /* | 格式化磁盘【慎重操作】 |
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。 一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件
选项 | 功能 |
---|---|
-c | 创建一个新tar文件 |
-v | 显示运行过程的信息 |
-f | 指定文件名 |
-z | 调用gzip压缩命令进行压缩/解压缩 |
-t | 查看压缩文件的内容 |
-x | 解压tar文件 |
tar –cvf xxx.tar 目录名/文件1 文件2
示例:
tar -cvf mycvfab.tar a.txt b.txt
tar –zcvf xxx.tar.gz 目录名/文件1 文件2
示例:
tar -zcvf houma.tar.gz houge.txt bailongma.txt
tar -zxvf houma.tar.gz
解压到usr目录下的aa目录中
tar -zxvf xxx.tar.gz -C /usr/aaa
find
指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
find [搜索范围] [选项]
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件。 |
按文件名:根据名称查找/目录下的filename.txt文件。
[root@java137 ~]# find xiyou/ -name “*.txt”
按拥有者:查找/opt目录下,用户名称为-user的文件
[root@java137 ~]# find opt/ -user zhangsan
按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@java137 ~]find /home -size +204800
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
grep 选项 查找内容 源文件
选项 | 功能 |
---|---|
-n | 显示匹配行及行号。 |
查找root用户目录下 a.txt文件,以及在第几行
[root@java137 ~]# ll | grep -n a.txt
管道其实就是参数的意思。
相当于ll 和 grep -n a.txt两个方法
ll的方法执行完毕之后,将该方法的结果,传递给 grep -n a.txt 方法,做为参数
在linux中我们称为管道的
查找命令在那个目录下
which 命令
[root@java137 ~]# which ll
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。如果安装的Linux操作系统是纯命令行的,即最小化安装,那么没有vim编辑器,需要在联网的情况下通过以下命令安装:yum -y install vim
VI有四种模式
以vi/vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制一段(从第几行到第几行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d数字d | 删除光标(含)后多少行 |
x | 删除一个字母,相当于del,向后删 |
X | 删除一个字母,相当于Backspace,向前删 |
yw | 复制一个词 |
dw | 删除一个词 |
^ | 移动到行头 |
$ | 移动到行尾 |
gg或者1+G | 移动到页头(第一行) |
G | 移动到页尾(最后一行) |
数字+G(先输入数字,在按G) | 移动到目标行 |
在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
按键 | 功能 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
: %s/old字符/new字符 | 批量替换 |
/ 要查找的词 | n 查找下一个,N 往上查找 |
? 要查找的词 | n是查找上一个,N是往下查找 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
ZZ(shift+zz) :nohl | 没有修改文件直接退出,如果修改了文件保存后退**去除高亮显示** |
命令 |
---|
cat /etc/passwd > a.txt 将输出定向到a.txt中 |
cat /etc/passwd >> a.txt 输出并且追加 |
命令 |
---|
ps –ef 查看所有进程 |
ps –ef | grep ssh 查找某一进程 |
kill 2868 杀掉2868编号的进程 |
==kill -9 2868 强制杀死进程== |
【pwd】
显示当前所在目录
【touch】
创建一个空文件: touch a.txt
【clear/ crtl + L】
清屏
【history】
查看已经执行过的历史命令
在公司中你没有这个权限
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
添加一个用户
[root@java137 ~]# useradd tangseng [root@java137 ~]# ll /home/
passwd 用户名 (功能描述:设置用户密码)
设置用户的密码
[root@java137~]# passwd tangseng
id 用户名
查看用户是否存在
[root@java137~]# id tangseng
[root@java137~]# cat /etc/passwd
su: swith user 切换用户
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得当前用户环境变量,而是获取原用户的环境变量) su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
切换用户
[root@java137 ~]#su tangseng [root@java137 ~]#echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin -------------------------------------------------------------------------------------------- [root@java137 ~]#exit [root@java137 ~]#su - tangseng [root@java137 ~]#echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tangseng/bin
userdel 用户名 (功能描述:删除用户但保存用户主目录) userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
选项 | 功能 |
---|---|
-r | 删除用户的同时,删除与用户相关的所有文件。 |
删除用户但保存用户主目录
[root@java137 ~]#userdel tangseng [root@java137 ~]#ll /home/
删除用户和用户主目录,都删除
[root@java137 ~]#useradd zhubajie [root@java137 ~]#ll /home/ [root@java137 ~]#userdel -r zhubajie [root@java137 ~]#ll /home/
whoami (功能描述:显示自身用户名称) who am i (功能描述:显示【登录用户】的用户名)
显示自身用户名称
[root@java137 opt]# whoami
显示登录用户的用户名
[root@java137 opt]# who am i
有一些情况下,我不用root用户登录,但是我还想有root用户的权限。
[root@java137 ~]# useradd wangwu [root@java137 ~]# passwd wangwu
[root@java137 ~]# vi /etc/sudoers
\## Allow root to run any commands anywhere root ALL=(ALL) ALL wangwu ALL=(ALL) ALL 或者配置成采用sudo命令时,不需要输入密码 \## Allow root to run any commands anywhere root ALL=(ALL) ALL wangwu ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用wangwu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
用普通用户在/opt目录下创建一个文件夹
[wangwu@java137 opt]$ sudo mkdir module [wangwu@java137 opt]# chown wangwu:wangwu module/
usermod -g 用户组 用户名
选项 | 功能 |
---|---|
-g | 修改用户的初始登录组,给定的组必须存在 |
将用户加入到用户组
[root@java137opt]#usermod -g root zhubajie
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
如果没有权限,就会出现减号[ -
]而已。从左至右用0-9这些数字来表示:
0 首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
-
代表文件
d
代表目录
l
链接文档(link file);
第1-3
位确定属主(该文件的所有者)拥有该文件的权限。---User
第4-6
位确定属组(所有者的同组用户)拥有该文件的权限,---Group
第7-9
位确定其他用户拥有该文件的权限 ---Other
u + 添加权限 - 取消权限 =重新赋值权限
a.txt --> rw u+x ---> rwx ---> u-x ---> rw ---> u=r ---> rgo
[ r ]
代表可读(read): 可以读取,查看
[ w ]
代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]
代表可执行(execute):可以被系统执行
[ r ]
代表可读(read): 可以读取,ls查看目录内容
[ w ]
代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]
代表可执行(execute):可以进入该目录
chmod [{ugoa}{+-=}{rwx}] 文件或目录
[root@java137 ~]# chmod u-x a.txt [root@java137 ~]# chmod u+x a.txt [root@java137 ~]# chmod u=rwx a.txt [root@java137 ~]# chmod u=rwx,g+w,o+x a.txt
经验技巧: u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
chmod [mode=421 ] [文件或目录]
4
表示的是读的权限(r)
2
表示的是写的权限 (w)
1
表示执行的权限 (x)
[root@java137 ~]# chmod 614 a.txt
修改文件使其所属主用户具有执行权限
[root@java137 ~]# chmod u+x houge.txt
修改文件使其所属组用户具有执行权限
[root@java137 ~]# chmod g+x houge.txt
修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@java137 ~]# chmod u-x,o+x houge.txt
采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限
[root@java137 ~]# chmod 777 houge.txt
修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限
[root@java137 ~]# chmod -R 777 xiyou/
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
选项 | 功能 |
---|---|
-R | 递归操作 |
[root@hadoop101 ~]# chown zhangsan houge.txt [root@hadoop101 ~]# ls -al
[root@java137 ~]# chown zhangsan:zhangsan -R abc [root@java137 ~]# ll
[root@java137 ~]# cd abc [root@java137 abc]# ll
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
需求: 修改文件的所属组
[root@java137 ~]# chgrp zhangsan b.txt [root@java137 ~]# ll
基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目
基于Nodejs、Vue等前端技术开发的前端实战项目
基于微信小程序和安卓APP应用开发的相关作品
基于51单片机等嵌入式物联网开发应用
基于各类算法实现的AI智能应用
基于大数据实现的各类数据管理和推荐系统
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。