linux命令行的组成结构
#linux系统命令操作语法格式
1.一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的
2.参数 > 同一个命令,跟上不同的参数执行不同的功能
执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要!
linux命令,参数之间,普遍应该用一个或多个空格分割!
mkdir命令
mkdir /目录名
递归创建a/b/c/d
mkdir -p a/b/c/d
递归创建test/a,b,c 三个目录
mkdir -p test/{a,b,c}
ls命令
显示/test下的内容
ls /test
-l 显示详细信息
-a 显示隐藏文件
pwd命令
查看当前位置
pwd
touch命令
创建文件
touch xxx.py
修改文件时间
touch -t ‘07013503’ xxx.py
stat命令
显示文件或文件系统的状态
stat 参数 文件
实例1:
[root@master tmp]# stat 1.txt
File: '1.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 17348002 Links: 1
(权限)Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
(最近访问)Access: 2018-07-10 15:30:00.000000000 +0800
(最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800
(最近改动)Change: 2018-11-07 15:38:36.400989868 +0800
Birth: -
实例2,显示文件权限
[root@master tmp]# stat -c %a 1.txt
644
[root@master tmp]# stat -c %A 1.txt
-rw-r--r--
vi vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
a/i 进入编辑模式
esc 回到命令模式
x删除
w 写入
q 退出
! 强制
:set nu 显示每一行的行数
G 可以直接定位到最末尾
/ 进入搜索
cat命令
cat命令用于查看纯文本文件(常用于内容较少的)
cat xxx.py
-n 查看文件,并显示行号
-E 在每一行结尾家上$符
追加文字到文件
cat >>/tmp/oldboy.txt << EOF
追加的内容
EOF
more命令
1.more命令用于查看内容较多的文本,例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。
2.more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容
more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
linux快捷键
tab 自动补全命令
ctrl + 1 或 clear/cls 清理终端显示
ctrl + c 终止当前操作
echo命令
默认把内容显示到终端上
打印出path的值
echo $PATH
将内容覆盖原文件
echo ‘新内容’ > test.txt
将内容追加到文件
echo ‘追加内容’ >> test.txt
特殊符号
>> 把文字追加到文件的结尾
> 清空原文件,然后把文字覆盖到文件末尾
< 输入重定向
<< 将输入结果重定向
* 通配符
ls -l /etc/us*
把命令执行的结果信息写入到文件中
ip addr > 1.txt
cp 拷贝命令
复制xxx.py到/tmp目录下
cp xxx.py /tmp
复制并改名
cp xxx.py /tmp/3x.py
Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变
cp -a 相当于-pdr
此命令常用于备份
cp main.py main.py.bak
mv 命令
移动文件并改名
mv /home/xxx.py /tmp/3x.py
rm删除命令
参数
-i 需要确认删除
-f 强制删除
-r 递归删除目录和内容
find查找命令
find 目录 文件类型 文件名
参数
-name 按照文件名查找
-type 查找某一类型的文件
类型参数:
b 块设备文件
d 目录
c 字符设备文件
p 管道文件
l 符号连接文件
f 普通文件
s socket文件
实例:
查找tmp下面的为aaa开头的所有普通文件
find /tmp/ -type f -name ‘aaa*’
管道命令
linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为右边命令的输入
常见用法:
检查python程序是否启动
ps -ef|grep 'python'
找到/tmp目录下所有txt文件
ls /tmp|grep ‘.txt’
检查nginx端口是否存活
netstat -tunlp|grep nginx
grep 文本搜索工具
它能使用正则表达式搜索文本,并把匹配的行打印出来。
语法:
grep [参数] [--color=auto] [字符串] filename
-i 忽略大小写
-n 输出行号
-v 反向选择
–color = auto : 给关键词部分添加颜色
grep ’要找的内容‘ /tmp/xxx.txt
grep -v ’要排除的内容‘ /tmp/xxx.txt
示例:找出/etc/passwd里root用户所在的行,以及行号显示颜色
cat /etc/passwd |grep 'root*'--color=auto -n
head和tail命令
head显示文件前几行,默认10行
tail显示文件后几行,默认10行
查看前两行
head -2 xxx.txt
持续刷新显示,常用于监控日志
tail -f xxx.log
显示文件10-30行
head -30 /tmp/xxx.py|tail -21
(取前30行,再取结果的后20行)
别名alias命令
我们在linux中使用cp时候相当于执行了cp -i
-i:删除已有文件或目录之前先询问用户;
#别名用比较危险的操作,防止你犯错
设置别名
alias rm=’会触发的可执行命令‘
设置别名永久生效,需要写入到/etc/profile(针对登录用户的合同,设置环境变量)
vim /etc/profile
G 到达最后一行
o 向下添加一行,进入编辑模式
然后添加alias命令
然后读取文件
source /etc/profile
which命令
用于查找命令的绝对路径
查找python命令在哪
which python
scp命令
scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
参数
-r 递归复制整个目录
-v 详细方式输出
-q 不显示传输进度条
-C 允许压缩
示例:
传输本地文件到远程地址,将文件复制或者重命名
scp 本地文件 远程用户名@远程ip:远程文件夹
scp /tmp/chaoge.py root@192.168.1.155:/home/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py
复制远程文件到本地
scp root@192.168.1.1:/tmp/xxx.py /tmp/3x.py
du命令
Linux du命令用于显示目录或文件的大小
du 参数 文件或目录
-s 显示总计
-h 以k,M,G为单位显示
top命令
top 命令用于动态地监视进程活动与系统负载等信息,任务管理器
第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令)
8053444 total:物理内存总量
7779224 used:已使用的内存总量
274220 free:空闲的内存总量(free+used=total)
359212 buffers:用作内核缓存的内存量
第五行:swap信息
8265724 total:交换分区总量
33840 used:已使用的交换分区总量
8231884 free:空闲交换区总量
4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
chattr命令
给文件加锁,只能写入数据。无法删除文件
chattr +a test.py
chattr -a test.py
lsattr命令
查看文件隐藏属性
lsattr test.py
linux时间同步
linux的date命令可以显示当前时间或者设置系统时间
以年-月-日显示当前时间
date +"%Y-%m-%d"
以年-月-日 时分秒 显示当前时间
date +"%Y-%m-%d %T"
硬件时间的查看
cal查看日历命令
hwclock
//以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w
//以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s
ntp时间服务器
关于时间服务器的配置文件,有如下几种
/bin/date 用于 Linux 时间 (软件时钟) 的修改与显示的指令;
/sbin/hwclock 用于 BIOS 时钟 (硬件时钟) 的修改与显示的指令。 这是一个 root 才能执行的指令,因为 Linux 系统上面 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,还需要使用 hwclock 才能将修改过后的时间写入 BIOS 当中!
/usr/sbin/ntpd: 主要提供 NTP 服务的程序啰!配置文件为 /etc/ntp.conf
/usr/sbin/ntpdate: 用于客户端的时间校正,如果你没有要启用 NTP 而仅想要使用 NTP Client 功能的话,那么只会用到这个指令而已啦!
由于我们只需要用作客户端更新时间
ntpdate -u ntp.aliyun.com
wget命令
用于在终端下载网络文件
wget 参数 下载地址
开关机命令
reboot命令用于重启机器
poweroff用于关闭系统