1.linux背景
2.linux一切皆文件
对于linux 来说,一切没有消息的消息是最好的消息
3.基本命令学习
命令组成:cmd [options] [args]
手册查看:man 打开手册,具体使用man man
命令展示:
<1>pwd 显示当前路径
<2>cd 切换工作路径
Linux文件系统是从/开始
路径如果从/开始计算--------------绝对路径
从当前路径开始计算---------------相对路径(.当前 ..上一级)
<3>ls 显示目录,文件。
options:
-a 显示所有的,隐藏的(就是文件名以.开头的)
-l查看目录下的文件和子目录的详细信息时,会得到一个详细的文件和目录列
表名,包含了文件的属性,所属用户,所属组,创建时间,文件大小等信息
-i显示文件的节点号
-h生成的结果有利于别人看,也就是不是按默认的byte做单位,而是根据实际 的情况做出调整。
<4>查看文件内容
cat filepath 显示文件全部内容
less filepath 按屏幕显示
/key 搜索
q退出
<5>复制
cp [-r(目录)] srcpath destpath
<6>剪切
mv srcpath destpath
<7>删除
rm [-r(目录) -f(强制)] filepath
<8>创建文件
touch filename 空文件
<9>创建目录
mkdir dirname 空目录
<10>关机
shutdown -h now
poweroff
init 0
halt
重启
shutdown -r now
reboot
init 6
<11>
history------------查看历史命令
4.文件管理
文件属性(元信息)
<1>stat filepath
<2>ls -l(部分)
drwxr-xr-x. 2 root root 6 11月 26 12:15 音乐
文件类型d
七种文件类型
- regular 普通文件
d directory 目录文件
c charactor 字符设备文件
b block 块设备文件
p pipe 管道文件
s socket 套接字文件
l link 符号链接文件
文件权限 rwx r-x r -x
拥有者 所属组 其他用户
u g o a(all)
修改文件 权限:<1>chmod u/g/o(+-) r/w/x filepath
<2>chmod 0666 filepath
修改文件的拥有者或所属组
chown user :group filepath
目录文件:
r ls
w touch /mkdir/rm
x cd
对文件影响 对目录的影响
r 读取文件内容 可列出目录内容(文件名)
w 可以更改文件内容 可以创建或者删除目录中的任一文件
x 可以作为命令执行文件 可以访问目录内容(取决于目录中文件的权限) * 防止产生权限过大的文件:umask
mode &~umask 文件真正的权限
* 特殊权限
u+s suid 所有有此权限的执行文件,可以使普通用户在执行此命令期间,将身份转换为文件拥有者
文件的硬链接个数2
硬链接:同一个文件,多一个名字
inode是同一个分区文件的唯一标识 所以硬链接文件不能跨分区
ln srcpath dest
符号链接(软连接)
就是一个快捷方式,存储源文件的路径可以跨分区
ln -s srcpath dest
文件的拥有者和所属组
创建用户 useradd username
给定密码 passwd username
切换用户 su uswername
删除用户 userdel -r username
登录用户 exit
用户信息: /etc/passwd
组信息 /etc/group
密码: /etc/shadow
组创建 groupadd groupname
组删除 groupdel groupname
用户添加到组内
gpasswd -a user group
用户从组中删除:
gpasswd -d user group
文件大小
文件的大小(size)!=所占磁盘空间的大小(block)
stat filepath
block ==512bytes
du -sh filepath 查看filepath 对应的文件所占磁盘空间的大小
df -h 查看磁盘分区占用情况
文件时间‘
access time
modify time ls -l 内容更改
change time 属性改变
文件查找
可执行文件
which cmd
whereis cmd
非可执行:
遍历数据库 locate filepath
更新数据库 updatedb
find(便利磁盘空间)
find path options
options:
-name 按名字查找
find /etc/ -name "passwd"
-size 按文件大小查找
find /etc/ -size n(b/c/k)
-mtime 修改时间
find /etc/ -mtime n(天)
-type 类型
find /etc/ -type f/d/c/b/p/l/s
-exec 对于查到的结果可执行
find /etc/ -name "hello" -exec ls-l {} ;
只对找到的文件执行ls -l结果,不打印路径
-ok
find /etc/ -name "hello " -ok ls-l {} ;
在ls-l执行之前会询问
-print 打印查找的结果
对找到的文件执行ls-l结果打印路径
-a 连接多个查找选项的
find /etc/ -type d -a -size + 10k
文件的打包压缩
压缩 :.gz .bz2.zip
gzip file 压缩为 .gz
gunzip file .gz解压缩
bzip2 file
bunzip2 file.bz2
zip xxx.zip file dir1 dir2
unzip xxxzip
tar options xx.tar.xx file1 ..... dir ............
-c 创建
-v 过程可视
-f在最后,后跟包名
-j生成bz2压缩格式
-z生成gz格式压缩文件
-J生成xz格式
-x解压缩
-C指定压缩路径
-t 不解压不解包的情况下查看压缩包内容
-r 箱包中追加新文件
文件重定向
当用户登录成功后,三个文件依次打开:
标准输入(stdin0)标准输出(stdout1)标准错误输出(stderr)
0<标准输入重定向
1>标准输出重定向
2>标准错误输出冲定向
>>追加
软件包管理
源码包
.tar.gz .tar.bz2 .tar.xz
<1>下载并解压解包
<2>编译make
<3>make install
二进制包(rpm)
yum 安装/etc/yum.repos.d/ xxx.repo
yum install
例如有如下软件包:
coreutils -8.22-21.e17.x86_64.rpm
coreutils 包名
yum install coreutils 安装
yum remove coreutils 卸载
yum repolist 查看仓库中有多少软件包
yum list 列出所有软件包
yum provides /usr/bin/ls 查看文件对应的软件包
yum updata ......
yum clean all
yum源头所在路径
已下载的rpm软件包,安装:
xxxxx.rpm
rpm -ivh xxxx 安装已下载的rpm包
rpm -e xxxxx卸载
rpm -U更新
rpm -qa查询系统中所有已安装的rpm包
rpm -qf /usr/bin/ls 查询ls对应的软件包
网络管理
<1>查看ip, mac,netmask...
ip addr
ifconfig
<2>查 看/启动/重启/关闭/自启动/禁用服务
system status/start/restart/stop/enable/disable
<3>防火墙
关闭防火墙
systemctl stop firewalld
symtemctl disable firewalld
进程管理
查看进程信息
ps aux
终止进程通过kill发送信号
kill -l 查看所有信号
kill -9 3333 发送9好信号给进程号微3333的进程
top 实时查看系统中进程的运行状态