文件(夹)操作
mkdir 创建文件夹,-p如果路径中有不存在的则会创建
rmdir 删除空文件夹
mv 移动(重命名)文件或文件夹
rm 删除文件,删除文件夹-r,强制-f
cp 复制文件,复制文件夹-r
vi(vim)
进入后为命令模式,i切换插入模式,ESC返回命令模式,在命令行模式下按下shift + :进入末行模式
用vi打开一个不存在的文件,如果没往里写,最终不会创建文件
末行模式q退出,q!强制退出
末行模式wq保存后退出,wq!强制保存后退出
末行模式set nu和set nonu显示和取消行号
末行模式n回到第n行首列
命令模式gg回到首行首列,shift + g回到末行首列
命令模式yy复制当前行,5yy复制当前行开始后的5行,p 在当前位置粘贴
命令模式dd删除当前行,5dd删除当前行开始后的5行
命令模式u撤销上一步
Home键回到行首,End键回到行末
cat
cat file 输出文件内容,-n显示行号
tac file 反向顺序输出
tail -n file 输出文件末尾n行,默认10行
head -n file输出文件前n行,默认10行
cat file1 > file2,将file1的内容覆盖file2;cat file1 >> file2,将file1追加在file2末尾
cat > file 覆盖file的内容,file不存在则创建;cat >> file 往file追加内容,ctrl + d结束,cat > file << '00'指定结束符;cat > file1 < file2 将file2的内容覆盖file1
echo
echo "hello" > file 用hello覆盖file;echo "hello" >>file,在file末尾追加hello
touch
touch file1 file2 创建文件
file
file file-name 判断文件类型
wc(wordcount) 统计
wc -l file统计行数
wc -w file统计单词数
wc -c file统计字符数
du 统计文件大小
du -h file人性化地显示单位
more和less
查看文件(分页查看)
visudo
编辑/etc/sudoers文件,给某个用户sudo权限
/etc/inittab
image.png
/etc/passwd
用户信息文件,格式如下
管理员用户只有一个:UID=0的用户就是管理员用户,一般情况下,默认它的用户就是root,家目录:/root
root :x :0 :0 :root :/root :/bin/bash
用户名 密码 uid gid 组名 家目录 所用的shell
grep 正则匹配
文件内搜索
grep keyword file在文件内搜索关键字
用户
useradd username添加用户
passwd username给用户设置密码
userdel -r username删除用户并删除其家目录
groupdel groupname删除用户组
su 切换用户
su - username切换到username,普通用户切换到root用户需要输入root的密码,root切换到普通用户不需要密码,exit退出回到之前的用户
权限
Linux中用户的分类
所有者(u) 同组用户(g) 其他人(o) 所有人(a)
Linux中文件权限
读(r,4) 写(w,2) 执行(x,1) 没有权限(-,0)
文件权限详情格式(ll命令显示的那种)
文件类型(-普通文件,d目录文件,l链接文件),文件权限,文件链接个数,文件所有者,文件所属组,文件大小,文件创建时间或最后修改时间,文件名
chmod修改文件权限,chown修改文件所属
chown username:groupName file
chown :groupName file
chown username: file
名字
hostname显示主机名
uname显示unix name
who
who 显示已登录的用户
whoami显示当前用户
网络
ifconfig类似于Windows下的ipconfig
route查看路由信息
traceroute路由跟踪,类似于Windows下的tracert
iptables防火墙
iw无线网相关(机器需要有无线网卡和对应的网卡驱动)
ip
服务
service s_name start|stop|status|restart|reload(reload为重新载入配置)
chkconfig 开机启动项
chkconfig --list列出开机启动项,0-6代表的是各个runlevel
image.png
chkconfig s_name --list列出s_name的开机启动设置,s_name为chkconfig --list里面的一项
chkconfig s_name on/off设置该项是够开机启动
netstat 端口管理
-a列举所有的连接,服务监听等。
-t列举tcp协议的服务
-u列举udp协议的服务
ps
查看进程
kill -9 pid杀死进程
jobs
后台进程
前后台进程
当前进程就是前台进程
ctrl + c结束当前进程,ctrl + z暂停当前进程,并放到后台去
在一条命令的后面加上&表示将此命令后台运行
fg从后台调一个到前台运行
bg从被暂停的进程中唤醒一个运行,在后台运行
管道符|
连接多条命令,上一条命令的输出作为下一条命令的输入
xargs
给命令传递参数
gzip(或zip(zip和unzip))压缩与解压
后缀为.gz,压缩后原文件没了,不能对文件夹压缩
gzip file压缩
gunzip file.gz解压
bzip2压缩与解压
后缀为.bz2,适合压缩比较大的文件,压缩后原文件没了,不能对文件夹压缩
bzip2 file压缩
bunzip2 file.bz2解压
tar
后缀为.tar,将多个文件或文件夹打包成一个包
tar -zcvf file.tar source压缩source为file.tar
tar -zxvf source.tar -C targe解压到target目录
重启与关机
关机:haltorinit 0 orshutdown -h now
重启:rebootorinit 6orshutdown -r now
image.png
logout
注销
修改mac,ip,hostname
修改mac地址 vim /etc/udev/rules.d/70-persistent-net.rules
修改ip vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改hostnamevi /etc/sysconfig.network
rpm
redhat package manager
rpm -qa查询所有本机的rpm包
rpm -ivh xxx.rmp安装
rpm -e xxx卸载,--nodeps忽略依赖
yum
从仓库中安装
yum install xxx安装
yum remove xxx卸载
at 一次性定时任务
at 命令可以用来执行一次性任务,任务的命令是可以手工输入,也可以从文件读取
image.png
image.png
image.png
image.png
crontab 周期性定时任务
发出crontab -e命令后,会让选择一个编辑器,在里面每新增加一行,就多一个任务,每个任务 (每行) 的格式都是具有六个字段,这六个字段的意义分别为:
意义 分钟 小时 日期 月份 周 命令
范围 0-59 0-23 1-31 1-12 0-7 具体命令(周的0和7都代表周日)
另外,*代表全部,,隔开多个值,-代表一个时间段,/代表每隔固定时间,示例如下:
每年的12月31号,每个整点执行一次脚本/root/cron.sh:
0 * 31 12 * /root/cron.sh
每天的0点和12点整执行脚本/root/cron.sh
0 0,12 * * * /root/cron.sh
每周一到周五上午8点执行脚本/root/cron.sh
0 8 * * 1-5 /root/cron.sh
每隔5分钟执行一次脚本/root/cron.sh
*/5 * * * * /root/cron.sh
或者
0-59/5 * * * * /root/cron.sh
注意,不能同时指定周与日月,也就是说,如果指定了具体日期,就不要指定周几了;分钟这一栏,如果不希望每分钟一次,则一定要指定;如果为 *,则每分钟都要执行一次
文件目录
image.png
硬链接和软链接
image.png
//创建硬链接
ln oldfile newfile
创建软链接
in -s oldfile newfile
我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。下图展示了程序通过文件名获取文件内容的过程。
image.png
在 Linux 系统中查看 inode 号可使用命令 stat 或 ls -i(若是 AIX 系统,则使用命令 istat)。使用命令 mv 移动并重命名文件后,其结果不影响文件的用户数据及inode号。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
文件有相同的 inode 及 data block;
只能对已存在的文件进行创建;
不能交叉文件系统进行硬链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同 inode 号的文件。
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。因此软链接的创建与使用没有类似硬链接的诸多限制:
软链接有自己的文件属性及权限等;
可对不存在的文件或目录创建软链接;
软链接可交叉文件系统;
软链接可对文件或目录创建;
创建软链接时,链接计数 i_nlink 不会增加;
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相- - 关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。