简单命令
date 日期
cal 显示日历
who 当前执行系统用户
echo 直接输出文本
clear 清空屏幕上的信息
浏览文件系统
pwd 确认当前目录
ls -l 显示一个文件的属性以及文件所属的用户和组
ls -ai 列出的前两项分别是当前目录和其父目录
cd 将工作目录改为参数上
ls
列出目录下的内容
-a 可以看到所有的文件,包括隐藏文件。
-l 列表竖向排列,相比于ls能展示更多信息。
-lh 再l的基础上可以更清晰的查看文件的大小
选项可以组合使用,选项和参数也可以组合使用。
cd (Change Directory)
打开命令行时,默认为home目录
可以通过cd命令更改目录
cd 不给参数执行,会回到home目录
pwd (Print Work Directory)
查看当前工作目录
路径
. 表示当前目录
… 表示父级目录
~ 表示home目录
mkdir(创目录)
给指定文件下创建新的目录,不指定就是当前文件夹
-p 可以一次性创建多个的层级的文件夹
touch(创文件)
创建文件(txt)
cat (查看文件内容)
查看文件内容,后面直接跟路径
more
也可以查看文件内容,一页一页查看
空格为翻页,q为退出
cp(copy)
-r 复制文件夹是需要带上
cp [被复制文件的位置] [复制后去的位置]
mv(move)
可以移动文件和文件夹
mv ./1.txt Desktop/ ##移动目标文件到desktop文件夹下
mv ./1.txt ./2.txt ## 如果2.txt不存在,则将1.txt改名为2.txt,达到修改文件名的功能
rm(remove)
可以一次性删除多个文件和文件夹
-r 删除文件夹时使用
rm命令支持通配符,模糊匹配
test* 表示任何以test开头的
*test 表示任何以test结尾的
*test* 表示任何包含test的
-f 强制删除 需要root用户
通过su - root,并输入密码即可进入root,exit退回普通用户
which
因为Linux命令本体就是一个个二进制可执行程序,所以一定存在于你的虚拟机里面。
用于查找你所使用的命令的具体文件位置
find
搜索指定文件
按照文件名查找
find 起始位置 -name “文件名称”
当然find也可以使用通配符进行查找
按照文件大小查找
find 起始路径 -size +/-n [k/M/G]
+为大于 -为小于
n为数字
kb Mb Gb
echo(控制台输出)
echo “想要输出的结果”
该命令会直接输出在控制台页面
反引号`
在使用echo命令时,可以通过飘号(飘号里面写命令),可以直接输出命令的结果
重定向符号
两个符号 > 和 >>
符号 > 会将左侧的内容覆盖写入右侧的文件当中
符号 >> 会将左侧的内容追加写入右侧的文件当中
echo "abc" > a.txt # 覆盖写入
echo "qwe" >> a.txt ## 追加写入
tail(尾部文件,持续跟踪)
tail -f -n “文件路径”
-f 表示持续跟踪文件
-n 表示显示几行
grep(显示带有关键字的行)
grep -n 过滤关键字 文件路径
-n 表示结果再文件中的行数
文件路径可以作为端口输入
wc(文件内容统计)
wc -c -m -l -w 文件路径
-c 统计bytes数量
-m 统计字符数量
-l 统计行数
-w 统计单词数量
管道符 |
将左边命令的结果作为右边命令的输入
前一部分 | wc / grep
可以统计,过滤查看
管道符可以嵌套使用
vi / vim编辑器
vi 文件路径
如果文件存在,则会编辑已有文件
如果文件不存在,则会编辑新文件
进入为命令模式,按i为输入模式,输入模式esc退出,按:进入底线模式,输入wq保存并退出。
命令模式快捷键:yy p复制 dd删除 u撤销
输入模式:$ 移动光标至行的末尾
底线模式:set u显示行号 set paste设置粘贴模式
root
su - root
exit退出
sudo [命令] 可以临时执行一些需要root的命令
用户和用户组
用户和用户组的创建和删除都需要root用户执行
用户组
创建用户组:groupadd 用户组名
删除用户组:groupdel 用户组名
用户
创建用户:
useradd 用户名 [-g -d]
# -g 指定同名的组,不指定的话,会创建同名的组名并自动加入
# -d 指定home路径,不指定默认目录为:HOME/用户名
删除用户:
userdel -r 用户名
# -r能够删除用户的home目录
查看用户所属组: id
修改用户所属组:
usermod -aG 用户组 用户名
# 将指定用户加入到指定用户组里面
# 修改之后该用户会有两个组
getend
getend passwd 可以查看当前系统中有哪些用户和用户组
权限命令
chmod
用于修改文件、文件夹的权限信息
chmod [-R] 权限 文件路径
# -R 修改文件夹是会对文件夹下的所有内容修改同样操作
权限 u=rwx g=rwx o=rwx
为了更方便的分配权限,定义了以下内容:
- 0:无任何权限,即 —
- 1:仅有x权限,即 --x
- 2:仅有w权限,即 -w-
- 3:有w和x权限,即 -wx
- 4:仅有r权限,即 r–
- 5:有r和x权限,即 r-x
- 6:有r和w权限,即 rw-
- 7:有全部权限,即 rwx
chown
root用户使用
chown [-R] [用户] [:用户组] 文件或文件夹
快捷键小技巧
ctrl + d 退出、登出
history 历史命令
ctrl + a 跳到命令开头
ctrl + e 跳到命令结尾
ctrl + 键盘左键,向左跳一个单词
ctrl + 键盘右键,向右跳一个单词
ctrl + l 清屏
Linux软件
yum(安装)
RPM包软件管理器,用于自动化配置Linux软件,并自动解决依赖问题
yum -y [install | remove | search] 软件名称
# -y 自动确认,无需手动确认安装或卸载过程
# install 安装wget程序
# remove 移除wget程序
# search 搜寻是否有wget安装包
systemctl(启动,停止,开机自启)
systemctl start | stop | status | enable | disable 服务名
# enable 开机自启
# disable 开机不自启
系统内置的服务器:
- NetworkManager
- network
- firewalld
- sshd,ssh服务(FinalShell远程登陆Linux的服务)
第三方systemctl能控制的软件。
- yum install -y ntp,安装ntp软件
服务器名:ntpd - yum install -y httpd,安装apache服务器软件
服务器名:httpd
能被systemctl控制的原因是因为安装的时候会自动集成到systemctl中,有的软件安装的时候不会自动集成,需要我们手动添加
ln(link软连接)
快捷方式
ln -s 被链接的文件或文件夹 ~/自命名
在当前目录下创建一个自命名的软链接
日期和时区
date [-d] [+格式化字符串]
格式化字符串:
%Y
%m
%d
%H
%M
%S
修改时区
修改时区需要root
rm -f /etc/localtime
ln -s /user/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp程序
自动校准时间
安装ntp:yum -y install ntp
启动并设置开机自启
手动校准时间
ntpdate -u ntp.aliyun.com
ip地址查询
ifconfig
主机名
hostname 查询主机名
hostnamectl set-hostname 主机名 需要root权限
网络传输
ping(检查服务器)
检查目标ip地址是否是联通的
ping [-c n] ip或主机名
# n代表ping的次数,不加这一模块会一直ping
wget(下载网络文件)
wget [-b] url
# -b表示下载过程在后台下载,会将日志存放到wget-log里面
curl(发起网络请求)
端口
计算机之间进行通讯,IP地址只能够锁定计算机,但是端口能锁定计算机上的程序。
shell脚本
通常是通过vim编辑,在文件里面写入Linux命令,用bash命令运行出结果。
Shebang
指的是文本文件第一行的前两个字符#!
执行文件的时候,如果不想指定解析器运行的话,可以在文件中添加对应的shebang。
bash解析器#!/bin/sh
python解析器 #!/user/bin/python
python解析器解析不了中文,必须用python3,新的路径
通用解析器 #!/user/bin/env bash
因为文件中内置的bash命令,所以sh文件不用shebang也会直接执行。