B站黑马视频 和
Linux常用命令CSDN博客
Linux目录和Windows目录有很大不同,Linux目录类似一个树,最顶层是其根目录,如下图:
~ 代表是home目录,也就是家目录, / 代表的是根目录
用户登录后在 家目录 (home),可用pwd命令查看,普通用户为 /home/用户名,root用户为/root
根目录是在最顶端的目录(因为已经不能cd …到上一级目录了 )
根目录是所有用户的都可以操作的,家目录用户才有权限操作(管理员可以分配权限)
和绝对路径不同,相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。
./ :当前所在的目录 ../ :父目录,上一级目录 / :根目录 1.引用上级文件: ../cover1.jpg 2.引用同级文件: cover1.jpg 3.引用下级文件: cover/cover1.jpg 4.引用上上级文件: ../../cover1.jpg ----------------------- cd ~ 切换到home目录 cd / 切换到根目录
rm命令支持通配符*,用来做模糊匹配 符号*表示通配符,即匹配任意内容(包含空),示例: test* ,表示匹配任何以test开头的内容 *test ,表示匹配任何以test结尾的内容 *test* ,表示匹配任何包含test的内容
将管道符 | ,左边命令的结果,作为右边命令的输入。可以嵌套 cat test.txt | grep "test" 将cat test.txt 这个文件作为结果,比如是x, 传入到|右边,成为了 grep "test" x。
第二章-11-grep-wc-管道符哔哩哔哩bilibili 不懂看这个。
Linux系统中可以:配置多个用户、配置多个用户组、用户可以加入到多个用户组中。
Linux中关于权限的管控级别有两个:针对用户的权限控制、针对用户组的权限控制。
以下命令需root用户执行: 创建用户组:groupadd 用户组名
删除用户组: groupdel 用户组名
创建用户 useradd [-g -d] 用户名 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名 删除用户 userdel [-r] 用户名 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留 查看用户所属组 id [用户名] 参数:用户名,被查看的用户,如果不提供则查看自身 修改用户所属组: usermod -aG 用户组 用户名,将指定用户加入指定用户组
使用getent命令,可以查看当前系统中有哪些用户: getent passwd共有七份信息: 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash) getent group,查看当前系统有哪些用户组,包含三份信息∶组名称:组认证(显示为x)∶组ID
r (read),针对文件可以查看文件内容 针对文件夹,可以查看文件夹内容,如ls命令
w (write),针对文件表示可以修改此文件 针对文件夹,可以在文件夹内:创建、删除、改名等操作
x (execute),针对文件表示可以将文件作为程序执行 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入。
功能:修改文件、文件夹的权限细节。 限制:只能是文件、文件夹的所属用户或root有权修改。 语法 : chmod [-R] 权限 文件或文件夹。 选项: -R , 对文件夹内的全部内容应用同样规则。
chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwx r-x --x 其中: u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
r代表4, w代表2,x代表1 rwx的相互组合可以得到从0到7的8种权限组合 如7代表: rwx , 5代表: r-x , 1代表:--×
只可root执行chown (change owner)。功能,修改文件、文件夹的所属用户、组 语法: chown [-R] [用户][:][用户组] 文件或文件夹 -R,同chmod,对文件夹内全部内容应用相同规则。 用户,修改所属用户。 用户组,修改所属用户组。 :用于分隔用户和用户组。冒号左右不能有空格。
ctrl+c :强制停止某些运行的程序。也可以退出当前命令(比如你当前命令输入错误)
ctrl + d:退出或登出。退出账户的登录。或者退出某些特定程序的专属页面。
history:查看历史命令。
!命令前缀,自动匹配上一个命令。
ctrl + r,搜索历史命令。
ctrl+ a,跳到命令开头。ctrl+e,跳到命令结尾 ctrl+键盘左键,向左跳一个单词。ctrl+键盘右键,向右跳一个单词
清屏:通过快捷键ctrl +l,可以清空终端内容,或通过命令clear得到同样效果。
软连接可以将文件、文件夹链接到其他位置
语法:ln -s 参数1 参数2 -s选项,创建软连接 参数1:被链接的文件或文件夹 参数2:要链接去的目的地
1.date命令的作用和用法 date命令可以查看日期时间,并可以格式化显示形式以及做日期计算 语法: date [-d] [+格式化字符串] %Y 年 %y 年份后两位数字,00到99 %m 月份(01_12) %d 日(01_31) %H 小时(0_23) %M 分钟(0_59) %S 秒(0_5O) %s 自1970-01-01 00:00:00 到现在的秒数 有空格时,最好格式化字符串的时候加上双引号。
1.使用ping命令可以测试到某服务器是否可联通 语法: ping [-c num] ip或主机名 选项:-c,测试的次数 2.使用wget命令可以进行网络文件下载 语法: wget [-b] url 选项:-b,后台下载 3.使用curl命令可以发起网络请求 语法: cur1 [-O] url 选项:-O.用于下载使用 4.ifconfig:查看网卡信息 语法:ifconfig 或 ifconfig | more 5.ping:查看与某台机器的连接情况 语法:ping ip 6.netstat -an:查看当前系统端口 语法:netstat -an 搜索指定端口。语法:netstat -an | grep 8080 netstat -anp | grep 端口号 ,查看本机指定端口号的占用情况 7.nmap lP地址,查看指定IP的对外暴露端口
管理进程的命令 ps -ef 查看进程信息 ps -ef | grep 关键字 。过滤指定关键字进程信息。 kill [-9] 进程号 。关闭指定进程号的进程。 选项:-9,表强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
1.Linux系统常用的压缩格式有: tar格式,归档文件,简单的将文件整合到一个文件内,无压缩效果 gzip格式, gzip压缩文件,不仅能整合到一个文件,同时有体积压缩效果 2. tar命令 tar [-z -x -v -c -f -C]参数... -c,创建压缩文件、 -v,查看压缩\解压过程、 -x,解压模式. -f,指定压缩\解压的文件, -z,gzip模式, -C,指定解压的路径· -z在选项组建议在开头,-f在选项组内必须在尾部, -C单独使用 3.zip命令 zip [-r]参数... -r,压缩文件夹使用 unzip命令,unzip [-d]参数,-d指定解压去的目录
Linux选用命令行的原因: Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定。在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定。
Linux命令基础格式: command [-options] [parameter]
1.ls命令的参数的作用 就是 list 的缩写,可以指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容(文件或文件夹) 2.ls命令的选项: 命令:ls [-al] ls 查看当前目录下的所有目录和文件 ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件) ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息) ls /dir 查看指定目录下的所有目录和文件 如:ls /usr 3.命令的选项组合使用 命令的选项是可以组合使用的,比如: ls -lah,等同于ls -a -l -h
cd命令来自英文: Change Directory cd命令可以切换当前工作目录,语法是:cd [Linux路径] cd / 切换到根目录 cd /usr 切换到根目录下的usr目录 cd ../ 切换到上一级目录 或者 cd .. cd ~ 切换到home目录 cd - 切换到上次访问的目录
pwd命令来自英文: Print work Directory pwd命令,没有选项,没有参数,直接使用即可。 作用是∶输出当前所在的工作目录
mkdir用以创建新的目录(文件夹) 语法:mkdir [-p] Linux路径 参数**必填**,表示要创建的目录的路径,相对、绝对、特殊路径符都可以使用 -p选项的作用可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录 mkdir test //当前工作目录下创建名为 test的文件夹 mkdir ./test //当前工作目录下创建名为 test的文件夹 mkdir -p /tmp/test/t1/t //在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:
一、重命名目录 (mv 即move) 命令:mv 当前目录 新目录 例如:mv aaa bbb 将目录aaa改为bbb 注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作 二、剪切目录 (mv 即move) 命令:mv 目录名称 目录的新位置 示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr 注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作 三、拷贝目录 (cp 即copy) 命令:cp -r 目录名称 目录拷贝的目标位置 (-r代表递归) 示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr 注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
命令:rm [-rf] 目录 删除文件: rm 文件 删除当前目录下的文件 rm -f 文件 删除当前目录的的文件(不询问 f force,一般用户用不到,root用户使用) 删除目录: rm -r aaa bbb 递归删除当前目录下的aaa,和bbb目录 (-r代表递归) rm -rf aaa 递归删除当前目录下的aaa目录 (不询问) 全部删除:(不要乱用) rm -rf * 将当前目录下的所有目录和文件全部删除 rm命令支持通配符*,用来做模糊匹配 符号*表示通配符,即匹配任意内容(包含空),示例: test* ,表示匹配任何以test开头的内容 *test ,表示匹配任何以test结尾的内容 *test* ,表示匹配任何包含test的内容
rm -rf /* 【自杀命令!慎用!慎用!慎用!坐牢的那种】将根目录下的所有文件全部删除
按文件名查找:支持通配符 find 起始路径 -name "被查找文件名" eg: find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件 按文件大小查找: find 起始路径 -size +n[kMG] find 起始路径 -size -n[kMG] +、-表示大于和小于n表示大小数字 kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB eg:查找根目录下大于10OMB的文件: find / -size +100M ./ :当前所在的目录 ../ :父目录,上一级目录 / :根目录
用于创建一个新的文件
语法:touch Linux路径 参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用
cat命令 用于查看文件内容。catenate(连接)
语法:cat Linux路径 参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看 more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 less sudo.conf
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束 tail -10 sudo.conf
语法:tail [-f -num] Linux路径
-f表示持续跟踪,-num:启动的时候查看尾部多少行,默认10行,Linux路径表示被查看的文件
vi (Visual Interface 视觉接口),vim(Vi IMproved 即vi增强)。
vi\vim编辑器,就是命令行模式下的文本编辑器,用来编辑文件。vim是vi的升级版,一般用vim即可,包含全部vi功能。
语法:vi\vim 文件路径
eg: vi aa.txt 或者 vim aa.txt 。打开当前目录下的aa.txt文件。
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。 如果文件路径表示的文件存在,那么此命令用j编辑已有文件。
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令模式 (command mode) 控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。 命令行模式下的常用命令:(有很多命令,具体百度即可) 【1】控制光标移动:↑,↓,j 【2】删除当前行:dd 【3】查找:/字符 【4常用】进入编辑模式:i o a ( i :在当前光标位置进入输入模式。a:在当前光标位置之后进入输入模式。o:在当前光标下一行进入输入模式) i,a,o分大小写,具体作用查吧。
【5】进入底行模式:: 任何情况下输入esc都能回到命令模式。
编辑模式(Insert mode)按i o a进入编辑模式。 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 编辑模式下常用命令: ESC 退出编辑模式到命令行模式;
底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 底行模式下常用命令: 【1】退出编辑: :q 【2】强制退出: :q! 【3】保存并退出: :wq
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用实例:
which 要查找的命令 which pwd 查找pwd命令所在路径 which java 查找path中java的路径
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
从文件中通过关键字过滤文件行 语法:grep [-n] 关键字 文件路径 选项 -n,可选,表示在结果中显示匹配的行的行号。 参数,关键字,必填,表示过滤的关键字,建议使用””将关键字包围起来 参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符的输入 eg: grep -n "code" test.txt 。在当前目录的 test.txt 文件中,找到含有 code 关键字的 一行,且显示行号。
命令统计文件的行数、单词数量、字节数、字符数等 语法: wc [-c -m -l -w] 文件路径 不带选项默认统计:行数、单词数、字节数 -c字节数、-m字符数、-l行数、-w单词数 参数,被统计的文件路径,可作为管道符的输入
语法: su[-] [用户名] - 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上。 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root。 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键: ctrl + d。 使用普通用户,切换到其它用户需要输入密码,如切换到root用户。 使用root用户切换到其它用户,无需密码,可以直接切换。 su test:切换到test用户,但是路径还是/root目录 su - test : 切换到test用户,路径变成了/home/test su : 切换到root用户,但是路径还是原来的路径 su - : 切换到root用户,并且路径是/root su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。 退出返回之前的用户:exit
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
如何为普通用户配置sudo认证? 答:切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers 或者 直接 vi /etc/sudoer 可以让一条普通命令带有root权限,语法:sudo 其它命令 案例: 允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。 hadoop ALL=(ALL) ALL 案例: 只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。 配置文件中: hadoop ALL=NOPASSWD: /bin/ls, /bin/cat
可以使用echo命令在命令行内输出指定内容。感觉跟print函数一样。 语法: echo 输出的内容 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用” ”包围 eg: echo "hello world" `反引号符 被`包围的内容,会被作为命令执行,而非普通字符 eg:echo pwd 只会输出pwd echo `pwd` 则会输出 当前工作目录(Print work Directory)。
重定向符 >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中 >>,将左侧命令的结果,追加写入到符号右侧指定的文件中 eg: echo "hello world" > test.txt echo "hello world" >> test.txt
CentOS: .rpm , yum Ubuntu: .deb , apt
CentOS使用yum管理器,Ubuntu使用apt管理器。
yum : RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。(RPM是linux系统的软件安装格式) 语法: yum [-y] [install | remove | search] 软件名称 选项: -y,自动确认,无需手动确认安装或卸载过程 install:安装 remove:卸载 search:搜索 yum命令需要root权限哦,可以su切换到root,或使用sudo提权。yum命令需要联网
用法和yum一致,同样需要root权限 语法: yum [-y] [install | remove | search] 软件名称 apt install wget,安装wget。 apt remove wget,移除wget。 apt search wget,搜索wget。
可以控制软件(服务)的启动、关闭、开机自启动 1系统内置服务均可被systemctl控制 2第三方软件,如果自动注册了可以被systemctl控制 3第三方软件,如果没有自动注册,可以手动注册(后续学习)
系统内置的服务比较多,比如:NetworkManager,主网络服务。 network,副网络服务。 firewalld,防火墙服务。 sshd, ssh服务(FinalShell远程登录Linux使用的就是这个服务)。 2.语法 systemctl start | stop | status | enable | disable 服务名 解释:start启动,stop关闭,status查看状态 enable开启开机自启,disable关闭开机自启