标题Linux 学习笔记
Linux中 文件类型
符号 | 表示内容 |
---|---|
- | 文件 |
d | 目录 |
c | 装置文件里面的串行设备,键盘鼠标等一次性读取设备 |
b | 装置文件里面的可供存储的接口设备,可以随机存取 |
l | 链接文档 link file |
常见目录解释
目录 | 描述 |
---|---|
/ | 根目录 |
/bin | 作为基础系统所需要的最基础的命令就是放在这里,比如ls、cp、mkdir等;功能和/usr/bin类似,这个目录的文件都是可执行的,普通用户都可以使用的命令。 |
/boot | Linux的内核以及引导系统程序所需要的文件,比如vmlinuz initrd.img文件都位于这个目录中。在一般情况下,GRUB或者LILO系统引导管理器也位于这个目录;启动装载文件存放位置,如Kernels、initrd、grub。一般是一个独立的分区 |
/dev | 一些必要的设备,声卡、磁盘等。还有如dev/null.dev/console /dev/zero /dev/full等 |
/etc | 系统的配置文件存放地,一些服务器的配置文件也在这里;比如用户账户以及密码配置文件等 |
/home | 用户工作目录和个人配置文件,如个人环境变量等,所有的账户分配一个工作目录。一般是一个独立的分区 |
/lib | 库文件存放地,bin和sbin需要的库文件,类似Windows的DLL |
/media | 可拆卸的媒体挂载点,如CD-ROMs、移动硬盘、U盘,系统会默认挂载到这里来 |
/mnt | 临时挂在文件系统。这个目录一般是用于存放挂在存储设备的挂载目录的。比如有cdrom等目录。 |
/opt | 可选的应用程序包 |
/proc | 操作系统运行时,进程(正在运行中的程序)信息以及内核信息(如CPU、磁盘分区、内存分区等)存放在这里 |
/root | root用户的工作目录 |
/sbin | 和bin类似,是一些可执行文件,不过不是所有的用户都需要的,一般是系统管理所需要使用得到的 |
/tmp | 系统的临时文件,一般系统重启不会保存 |
/usr | 包含了系统用户工具和程序 |
/srv | 该目录存放一些服务启动之后需要读取的数据 |
/var | 最重要的是里面有一些日志文件 |
Linux中用户身份分类
用户名称 | 用户介绍 | UID |
---|---|---|
虚拟用户 | 这类用户与真实的普通用户有所不同,这类用户最大的特点就是系统安装后默认就会存在,并且默认情况下是不能登陆系统的。他们主要是满足系统进程对文件属主的需求。 | 1 - 499 |
普通用户 | 这类用户一般都是具备相应系统权限的人员添加的,一般用户都可以登陆系统,但是仅仅具备操作自己家中的目录和目录中的文件的权限,没有创建、修改、删除等权限 | 500-65535 |
超级用户 | Linux系统中默认的超级用户是root,通过root用户可以登录系统,并且可以操作系统中任意文件与命令,拥有最高的管理权限。(一般情况下尽量使用普通用户登录,而不使用root登陆,防止权限过大) | 0 |
文件管理命令:
打开目录
cd /directory1//directory2 //如果在根目录可以不加开头的斜杠
cd /etc/sysconfig //此命令可以进入etc目录中的sysconfig目录
创建文件、创建目录
touch filename //创建filename文件
touch -d "20190521 13:00:00" filename //自定义创建的文件的时间
touch -d"2 day ago" filename //同上
cat > filename //该命令直接进入filename文件的编辑, ctrl + d 退出并保存
vim filename //同上
mkdir dirname //创建名字为dirname的目录
查找文件
rpm -qa fileOrDir
whereis fileOrDir
find //find很强大,后面慢慢补充
man file //帮助命令,可以查看file的使用方法,file可以是工具或者命令
复制、移动文件
cp filename1 /dir1/dir2/filname2
mv filename1 filename //相当于重命名
mv filename1 /dir1
mv filename1 /dir1/filename1 //移动并且改名
查看文件
cat filename
cat -n filename //显示行号
nl filename //显示行号
vim filename //命令模式下 set numbet 显示行号
leafpad filename //需要先安装leafpad
more filename
less filename //less is more ,less查看下输入/可以进行搜索关键字,n跳到关键字的下一个出现的地点
更改权限
chgrp group name/
chmod XXX name
chmod [u/g/o][+-rwx] name //以上为更改权限的两种方法
进程管理
ps
ps -aux //查看进程,详细版本
top //查看进程实时信息,通过进程占用的CPU来排序,几秒钟更新一次
kill PID //结束进程
设置密码
passwd
passwd username //修改密码
-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后通知用户账户
文件特殊权限
SUID
SUID该权限仅对二进制文件有效,且仅在该文件执行过程中生效,当文件具有SUID权限是,文件属主的x变为s,执行者对于该文件有x权限时才能以root权限执行
[lichuan@hongyanya bin]$ ls -l passwd
-rwsr-xr-x. 1 root root 30768 Feb 22 2012 passwd //s代表SUID
[lichuan@hongyanya bin]$ ./passwd
Changing password for user lichuan.
Changing password for lichuan.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
SGID - - - - - S - - - 相对于组
SUID - - - - - - - - t 相对于目录
文件特殊权限的修改
类似于"r、w、x" 分别对应"4、2、1", ”SUID、SGID、SBIT“ 也分别对应"4、2、1"
chmod 4755 file
chmod 2755 file
chmod 1755 file
chmod 5755 file
搭建LAMP(apache MySQL php)
yum -y install httpd //下载apache服务
chkconfig httpd on //开机后自动开启 service httpd stop/start 开机后手动关闭或开启
/etc/init.d/httpd start//启动httpd的另一种方法
/etc/init.d/sshd start//启动ssh服务 这一行代码不属于实验内容,属于扩展学习内容
service httpd status //查看apache服务器状态
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql//apache扩展 加密ssl apache自身的库 mysql扩展
yum -y install mysql mysql-server myql-devel //mysql mysql服务器 mysql开发用到的库和文件
chkconfig mysqld on
service mysqld start
mysql -u root -p
/usr/bin/mysql_secure_installation //更改密码
yum -y install php php-mysql //安装php
yum -y install dg php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap //安装扩展库
service httpd restart //重启apache服务
cd var/www/html //
vim index.php //新建php文件
<?phph
echo "lulichuan is the most handsome man in the word";
phpinfo();
?>
完成后再访问一次本机网页,会变成php解析的内容
LNMP安装(nginx MySQL php)
准备工作
1.配置防火墙,开放80和3306端口
vim /etc/sysconfig/iptables //进行防火墙的配置
service iptables restart //重启防火墙
2.关闭SELINUX
vim /etc/selinux/config //
SELINUX = disabled //将config文件中的SELINUX 改为disabled 其他的都注释掉,保存并推出
shutdown -r now //重启系统 reboot、init 6命令也是同样的效果
3.安装第三方yum源
yum install wget //安装下载工具 wget
wget http://www.atomicrop.com/installers/atomic
sh ./atomic //安装
yum check-update //更新yum源
开始安装
1.安装nginx
yum removes httpd* php* //删除系统自带的软件包
yum install -y nginx
chkconfig nginx on //设置开机启动
service nginx start //开启nginx服务
service nginx status //查看一下nginx服务打开了没有, running代表开启
2.安装php
yum list installed | grep php //检查当前安装的php包
yum remove *php* //如果有php包,则删除,没有的话继续
下面要安装包源,不同的版本源不同
# Centos 5.X
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
# CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
# CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果上述的安装的包想删除,可以使用下面的命令
rpm -qa | grep webstatic //查看安装的包
rpm -e filename //删除包
3.安装
yum -y install php56w.x86_64
yum -y --enablerepo=webtatic install php56w-devel
yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64
如果想更换到php5.5或者5.4,将上述56w改成55w、54w即可
4.安装php-rpm
yum -y install php56w-fpm
chkconfig php-fpm on //设置开机启动
安装MySQL
yum install -y mysql mysql-server
chkconfig mysqld on
service mysqld start
rpm安装`
rpm -ivh //安装
rpm -Uvh //更新
rpm -e //删除
rpm -qa //查看所有安装的软件包
rpm -ql // 查询包里的文件
rpm -qi //列出软件的详细信息,包括开发商、版本与说明等
rpm --rebuilddb //重建数据库
yum安装
yum -y //当需要输入时,自动yes
yum install
yun update //更新