Linux笔记
用户名:/etc/hostname
host:/etc/hosts
cd:进入目录
fn+ctrl+alt+f3切换
sudo:用管理员权限
su:切换用户
date:日期 -s 20120523 设置当前日期 -s 01:01:01具体时间,不设置日期
ls:当前目录下的文件和文件夹 -a全部 -l用长格式显示 -t按修改时间排序。 –reverse倒序
who:系统中有哪些使用者 who am i显示自身用户 -q 显示登陆用户数
pwd:当前路径
ps aux:显示所有进程
passwd XX:更改xx用户的密码
vi,vim,nano:本文编辑器
cp:复制 -r目录下所有文件复制到新目录
rm:删除 -p多级 -f 强制 -r递归 -i 提示
chmod:更改权限 rwx: r:100 w:010 x:001
r:允许打开并读取文件内容
w:允许写入文件或截断文件,但不允许对文件进行重命名或删除。重命名或删除是由目录的属性决定的 x:允许将文件作为程序来执行,使用脚本语言编写的程序必须设置为可读才能被执行
history:历史命令
file:查看文件类型
touch:创建文件 touch testfile #修改文件时间属性为当前系统时间
mkdir -p x/y/z 创建x/y/x文件夹 默认权限为755 加入-m 777参数可修改权限
rmdir:删除空目录
ping -c 3 baidu.com ping三次百度
uname
cal显示日历 cal 2019显示2019年的日历 cal 8 2019 显示2019年8月的日历
通配符:*:任意数量的任意字符
?:匹配单个字符
[]:匹配指定范围内的单个字符
例:显示/etc/目录下所有包含conf的文件或目录:ls -d /etc/*conf*
列出/dev目录中以”d”或”f”开头并且文件名为3个字的文件:ls /dev/[df]??
列出/dev目录中不是以”d”或”f”开头的所有文件:ls /dev/[!df]*
拓展符:{}:/tmp/{a,b}等于/tmp/a和/tmp/b {1..5..2}意思是从1开始跳2到5
{a,b,c}{1,2}等于2乘3,6个
cat:查看文件内容 cat /etc/redhat-release 查看系统版本号
-n ,number,显示行号
more:同cat,但是可以一页一页的显示,空格下一页,b上一页
-s 当有连续两行空格,替换为一行的空白
xiong-chiamiov-plus
less:同cat,more可以按空格键向下显示文件,可以利用上下键来卷动文件 结束浏览时,要在“: ”下按Q键
head和tail:显示文件开头或末尾部分,-3:三行 -f:实时显示
wc:打印文章行数,单词数,字节数 文件名
-l行数
echo:输出指定内容 例:day=‘Sunday’ echo $day输出sunday
a=123 b=456 echo a+b输出123+456 [a+$b]输出579
echo “123\
456
789”
123456789
echo多行输出:
echo -e “hi linux\nhi world \njust a test”
echo -e “hi linux\fhi world\fjust a test”
grep:文档内容查找 grep -n “^root” /etc/passwd
1 | ^root以root开头 $root以root结尾 |
-n加行号 -v反向查找,输出与查找条件不符的行 -w精准匹配 -r递归查找
例:找出所有包含关键字“dns”的所有文件并显示行号:grep -nr “dns” /etc/ssh
diff:比较两个文件不同之处 显示效果:”大小于号” “行数”“a,d,c””行数”
<开头属于文件1,>开头属于文件2,a:添加 d:删除 c:修改
date:查看日期,具体语法见date –help 格式date +%A
以“年-月-日 时:分:秒”的格式显示日期和时间:date+””%Y-%m-%d %H:%M:%S”
stat:查看文件元数据
最近更改时间( modify timq):文件内容改变的时间。
最近改动时间(change timc):文件元数据改变的时间。
find:是linux中最强大的查找命令
在/boot中查找所有子目录:find /boot -type d
在/etc中查找所有的符号链接文件:find /etc -type l #l 是ls -l
按文件名查找:find -name “pass*
”
-size 按文件大小查找 查找文件大于1m的:find /etc -size +1m
-not 取反
find按照文件时间戳进行查找,以“天”为单位 -atime(访问时间)、-mtime(更改时间)、-ctime(改动时间)﹔如果以“分钟”为单位,则相应的选项分别为:-amin(访问时间)、-mmin(更改时间)、-cmin(改动时间)。与-size一样,用“+”、“-”号对时间进行设置。
例:在/tmp目录中查找7天内没有被访问过的文件。 find /tmp -atime +7
在/letc目录中查找最近1天之内被改动过的文件。find /etc -mtime -1
-exec:可以把find命令当成文件处理
find /etc -size +1M -exec cp {} /tmp/test ;表示find命令查找到的结果并执行后面的命令(复制文件)
在命令的最后必须添加“;”表示命令结束。
-mtime -n +n 按文件过去n天修改查找文件(mtime 修改)
-atime -n +n 按文件访问时间查
-ctime -n +n 按文件过去n天内被更改过时间
-mmin -n +n
课本p80
-maxdepth n 按等级
列出系统中大于40m的文件 find / -size +40m -type f
列出系统中权限777的: find ~ -perm 777
| 管道命令,可以连接左右两条命令
内部命令:bash、exit、cd、ehco集成在shell里的命令
外部命令:ls、cat
判断方式:使用type 目的命令
1.xx is a shell builtin 内部命令
2.xx si /bin/xx 外部命令
ln命令:为文件或目录建立链接 文件格式: ln 【选项】 源文件 目标文件
链接文件分为硬链接、软链接两种类型,主要区别:不能对目录创建硬链接,也不能跨越不同分区创建硬链接文件,而软链接则没有这些限制,所以平时使用的大都是软链接。
在创建软链接时需要使用“-s”选项。
alias命令:设置命令别名
alias[别名=’标准Shell命令行] 直接使用alias可以列出系统中已存在的别名命令
例:alias cpd=’cat /etc/passwd’删除:unalias cpd
history:历史执行命令
!15:重新执行第15条命令
history -d 16:删除第十六条命令 history -c 删除缓存中的历史命令
查看系统可以保存的历史命令条数echo $HSITSIZE #默认1000条
echo $HISTFILE #查看保存历史命令的文件路径
history -w #将缓存中的历史命令保存到文件中
help:帮助文档 例:查看pwd的帮助信息:help pwd #查看外部命令帮助信息时 会报错
man:也是帮助信息,较help完善
标准输入(Stdin)文件描述符0标准输出(Stdin)文件描述符1标准错误(Stdin)文件描述符2
‘>’覆盖重定向 >>追加重定向 #使用“>”重定向时应慎重,确保不会丢失重要数据
标准错误重定向:将执行命令过程中出现的错误信息重新定向保存到指定的文件中,而不直接显示。由于标准错误输出的文件描述符是2,因而标准错误重定向的表示符号就是“2>”,使用标准输入、标准输出重定向时省略了0、1描述符。
mv:
mv 文件名 文件名 修改文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录存在就移动,不存在就改名
mv 目录名 文件名 出错
ln:链接文件
-s 创建软链接
-i删除文件前进行确认
-d允许超级用户
vim编辑器:vi 文件名
三种不同的工作模式:命令模式(esc)、插入模式(i)、末行模式(:) ,默认进入命令模式
翻页:page down(ctrl+f) page up(ctrl+b) 显示行号::set nu 取消显示行号::set nonu
/word从上而下查找word ?word从下而上在文件中查找字符串“word”
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串
u撤销最近一次操作 U撤销对当前行的所有编辑
保存文件::w 退出::q 保存文件并退出::wq 放弃文件编辑并退出::q!
:match Search /99/ 高亮查找99
:/99 正向高亮查找99 从低向下?99 查找
:set number 显示行数
:s/123/12/ 当前行123替换为12 :s/123/12/g 替换所有123为12
du:查看目录或文件占用磁盘空间的大小 -h以k,m,g显示结果(默认是kb)
-s 查看目录本身的大小
压缩:Linux中常用的打包命令为tar,常用的压缩命令: gzip后缀“.gz”、bzip2后缀“.bz2”、xz后缀“.xz”
例:将整个letc目录下的所有文件打包成etc.tar:tar -cvf etc.tar /etc
-c:创建“.tar”格式的包文件,-v显示命令过程,-f指定打包后的名字
-z创建为“gzip的”压缩包文件 -j:调用bzip2来压缩包文件 -J:调用xz来压缩包文件
zip: -r是递归,zip无法直接对目录进行打包压缩,所以需要通过“/homc/*”的方式表示/home目录中的所有内容,以便打包压缩/home下级子目录中的内容。
解压:unzip
systemctl set-default multi-user.target 设置为命令行启动,重启生效
systemctl set-default graphical.target 设置为图形启动,重启生效
systemctl isolate mulyi.target 不重启将运行级别切换为命令行
systemctl get-default 获得当前运行级别
关机:shutdown -t 36000(毫秒)
shutdown -k不关机但是警告发送给所有用户
shutdown -r重新启动
shutdown -h关闭系统 后可加+45,延时45分钟
shutdown -c取消运行shutdown
uptime 显示系统以及运行的时间
uptime -s系统开始运行的时间
uptime -p系统以及运行的时间
&& :运行前一个后无报错,运行后一个
|| :前一个无报错即停止,若不能成功执行则运行后一个
cat echo.txt :查看echo.txt内容
cat -n 加上行数
文件类型:
字符(character)设备:键盘、终端、打印机、鼠标
链接文件(l)
套接字(socket)
管道(pipe)
使用命令行打开图形化文件夹 nautilus /
seq 生成数
sort 将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
-u 对排序后认为相同的行只保留一行,去除重复行
-n按照字母升序 -r降序 -rn 按照数字降序
-o可以用重定向写入文件
shuf 打乱顺序 -i LO-HI 从LO到HI的数字 -r允许重复 -n 输出总和行数
shuf -n2 -e 1 2 3 打乱输出三个中的前两行
sort 依次按ASCII码值进行比较,最后将他们按升序输出
paste横向合并 paste c1 c2 c3 c4
uniq命令:将重复行删除
cut从每一行中输出选定的的字节、字符或者字段 -b 选择指定字节 -c指定字段
/etc/passwd 文件:
用户名:密码:用户id:组群id:用户全名:用户主目录:使用的shell
/shadow
用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3.1970.1.1到上次修改密码的日期的天数
4.修改密码最少需要间隔天数
5.99999代表密码永不过期
6在密码过期前向用户发送警告信息
7.在密码过期后系统推迟关闭该用户账号的天数
useradd 【选项】添加用户账号
-d 设置用户宿主目录
-e 设置用户过期日期 例 2020-10-30
-g 设置用户所属组
-s 设置用户默认使用shell 默认/bin/bash
-u 设置uid ,大于1000
passwd 设置或者修改用户口令,修改口令属性
-S 查询口令状态
usermod 修改用户属性
-c 全名 -d用户主目录 -e有效期限 -f缓冲天数
-g 群组id或群组名(指定用户所属的主要群组)
-G 群组id或群组名(指定用户所属的附加群组)
-u 指定用户id
例:将名为tom的用户名改为tommy:usermod -l Tommy tom
userdel 删除指定用户账号
userdel -r 同时删除全部
组GID:保存在/etc/group
系统管理员:gid=0
系统用户组:1<gid<1000
其他:gid>1000
主组:用户登录系统时的组
附加组:登录后可切换的组
标准组:可容纳多个用户
私有组:只有用户自己,当创建一个新用户时
groupadd 新建组
/etc/group 组名,口令,组id,组内用户列表
gpasswd:设置组密码
-A 指定组管理员
-a将用户添加到组
-d将用户从组中删除
例:将zq加入青岛组中:gpasswd qingdao -a zq
chown:修改属主和属组
修改f1属主TOM3属组class1:chown TOM3:class1 f1
sudo -u root xxxx使用其他用户执行命令
在linux下禁、启用网卡:
ifconfig eth0 down.
ifconfig eth0 up.
磁盘:
fdisk -l查看分区表信息
-s显示分区大小,单位为块
-c指定柱面数 -h指定磁头数 -s指定磁盘每磁盘的扇区数
子命令:
fdisk /dev/sdb
a 调整启动分区
mount挂载和卸载文件系统
mount 选项 设备 挂载目录
umount 卸载
-t 文件系统类型
-o挂载选项 ro只读方式 rw读写方式挂载 nouser禁止非root用户挂载
自动挂载:在系统初始化时需要挂载的相关信息记录在/etc/fstab中,每一行说明一个文件系统的挂载信息
/dev/sda10 /opt xfs defaults 0 0
设备名/label/uuid 挂载点 文件系统类型 dump时是否记录 fsck时的顺序
虚拟文件系统相当于一个应用程序与各种存储设备及其文件系统之间的接口,用户在实际使用各种文件系统时并不需要关心文件系统的真实特性,而是以统—的接口访问数据。
将主机的第三块SATA接口硬盘上的分区编号为2,文件系统类型为xfs文件系统的主分区以只读方式挂载到/tmp/disk目录上的命令是 mount -t xfs -o ro /dev/sdc2 /tmp/disk
网络:
显示全部接口的ip:ip address show 简写ip a s
显示全部接口的传输统计信息:ip -s link show ()
ip route show
网络命名:
en:以太网设备
wl:无线局域网sheb
ww:无线广域网设备
随后的三个字母:
o:表示主板板载设备
s:表示热插拔设备
p:表示pci总线或usb接口上的设备
临时性配置:使用ip命令。重启后失效
永久性配置
cat /etc/sysconfig/network-scripts/ifcfg-* 网络配置文件
TYPE=”Ethernet” 网卡类型为以太网
PROXY_METHOD=”none” 代理
BROWSER_ONLY=”no”
BOOTPROTO=”dhcp”
DEFROUTE=”yes”
IPV4_FAILURE_FATAL=”no”
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
IPV6_DEFROUTE=”yes”
IPV6_FAILURE_FATAL=”no”
IPV6_ADDR_GEN_MODE=”stable-privacy”
NAME=”ens33”
UUID=”955198ae-87dd-4fe4-9721-2a93833f9e36”
DEVICE=”ens33”
ONBOOT=”yes”
/etc/resolv.conf 域名解析配置文件
/etc/hotsts 本机的host文件
/etc/services文件定义了linux服务器中所有服务的名称,协议类型,服务的端口等信息
service network restart重启网络进程
RPM包:
name-version.type.rpm
name:软件名称
version:版本号
type:适用平台
· i386 x86 arm x86-64 src
rpm -i安装软件包
-v安装时显示软件名称
-h 用#显示进度
-e删除软件包
-U升级软件包
-F刷新软件包
-q查询软件包
–initdb初始化RPM数据库
yum配置文件:
/etc/yum.conf
/tec/yum/repos.d/*.repo
yum clean all 清除缓存数据
yum makecache:将当前服务器的软件包相关信息存到本地以提高搜索软件的速度
-y 对yum的命令回答yes
-C 只利用本地缓存不从远程仓库下载文件
–enablerepo=REPO 临时启用指定名为REPO的仓库
–disablerepo=REPO 临时禁用指定名为REPO的仓库
查看软件包信息:
yum info 【软件包名】
查询软件包: yum search
yum list 【软件包名】
list指令支持通配符
list后两个
tar命令:打包
-c新建打包文件
-v压缩或解压过程中,显示过程
**-f要操作的文件名 **
-r表示增加文件,把要增加的文件追加在压缩文件的末尾
-t表示查看文件,查看文件中的文件内容
**-x解压文件 **
-C解压到特定目录
-z通过gzip方式压缩或解压,最后以.tar.gz 为后缀
-j通过bzip2方式压缩或解压,最后以.tar.br2 为后缀。压缩后大小小于.tar.gz
-u更新压缩文件中的内容 -p保留绝对路径,即允许备份数据中含有根目录
-P保留数据原来权限及属性
所以:
tar -cf 文件名 要打包的文件|文件列表|目录 \ -execlude=FALE排除某一个
tar -f 打包文件名 -A 要合并的打包文件名 合并两个打包文件
tar -f 打包文件名 -r 要添加的文件|文件列表 添加新文件
例:tar -cf file.tar file* 打包file前缀文件
tar -f file.tar –delete file1 把file.tar中删了file1
gzip:
压缩命令 tar -zcf 压缩文件名.tar.gz 要被压缩的文件|文件列表|目录
bzip2:与tar命令结合使用,选项为-j 压缩比更高
压缩命令:tar -jcf 1.tar.bz2 1
查询命令:tar -jtf 1.tar.bz2
解压命令:tar -jxf 1.tar.bz2 -C /tmp/
程序(program):静态
进程(process):动态,占用系统内存资源
进程号:每个进程的pid是唯一的
进程:交互进程,批处理进程,守护进程
进程的启动方式:
前台
后台(&)
调度方式:按照预先指定的时间执行
at
batch
cron