Linux笔记

linux 中常用的命令

  • 显示当前目录 pwd
  • 改变当前目录 cd eg:cd /home/fzy
  • 列出当前目录的所有内容 ls eg: ls /home/fzy
  • 查看当前文本文件 cat(全部显示) more(分页显示) eg: cat fzy.txt
  • 创建文件夹 mkdir eg:mkdir fzy
  • 删除一个空文件夹 rmdir eg: rmdir fzy #注意必须是空文件夹
  • 创建一个空文件 touch eg: touch fzy.txt
  • 文件移动命令 cp eg cp /home/fzy /home/yu
  • 文件复制命令 mv eg: mv /home/fzy /home/yu
  • 文件删除命令 rm eg: rm -rf /home/yu#删除当前目录下的全部文件

linux下文件的权限(重点)

八进制二进制文字权限
0000
1001–x
2010-w-
3011-wx
4100r–
5101r-x
6110rw-
7111rwx

在实际开发只需要记住 x代表1 w代表2 r代表4 即可

在linux中为3种人准备了权限
1. 文件所有者(u) user
2. 文件属组用户(g) group
3. 其他人(o) other

chown 修改文件的所有权 (给他换一个主人)

 sudo chown fzy yu.txt #将这个yu.txt文件的所有者修改为fzy这个用户

chown 提供了-R参数用于改变一个目录及其下所有文件的所有权

sudo chown -R fzy fzy/ #将fzy这个文件夹及其子目录交给fzy这个用户

chmod 修改文件的权限(相当于让被人看你的东西)

sudo chmod u+x yu.txt #给文件的所有者添加执行权限
sudo chmod a-x yu.txt #删除全部用户的执行权限
sudo chmod u=rw,go=r yu.txt #属主用户有读写权限 ,其他用户只有读权限

常见的文件类型

文件类型符号颜色
普通文件-白色
压缩文件红色
可执行文件草绿色
目录d蓝色
字符设备文件c黄色
块设备文件b黄色
本地域套接口s粉红色
管道p青黄色
链接文件l淡蓝色

文件链接命令 ln

作用: 为某一个文件在另外一个位置建立一个不同的链接,ln命令会保持每一处链接文件的同步性,无论修改哪一个文件其他都会改变

  1. 软连接: ln -s 源文件 目标文件 不会占用磁盘空间
  2. 硬链接: ln 源文件 目标文件 在磁盘上建立一个相同的文件

重定向和管道

  • 1.输出重定向
    date > date_out #将当前时间输出到date_out这个文件中
    date >> date_out #将当前时间追加到date_out这个文件中
  • 2.输入重定向
    cat < hello #将hello文件的内容输出到屏幕
    cat << end  #当输入end后结束输入
  • 3.管道(前一个命令输出作为后一个命令的输入)
    cat /home/fzy/yu.txt | wc #统计这个文件的字数

Linux下软件包的安装

1.rpm

①安装: rpm -ivh 软件包名
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装
②卸载:rpm –e 软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:rpm –ivh software-1.2.3-1.i386.rpm 而当卸载时,则应执行:rpm –e software。
③查询: rpm -qa #查询安装的所有包

2.apt

apt-get命令一般需要root权限执行,所以一般跟着sudo命令 例 :
sudo apt-get install packagename——安装一个新软件包(参见下文的aptitude)
sudo apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)
sudo apt-get –purge remove packagename——卸载一个已安装的软件包(删除配置文件)
sudo dpkg –force-all –purge packagename ——有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
sudo apt-get autoremove——因为apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以用这个命令来删除你已经删掉的软件。
sudo apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。
sudo apt-get clean——这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
sudo apt-get upgrade——更新所有已安装的软件包
sudo apt-get dist-upgrade——将系统软件包升级到新版本
sudo apt-cache showpkg pkgs——显示软件包信息。
sudo apt-cache pkgnames——打印软件包列表中所有软件包的名称

3.软件安装中的常见错误

①依赖性 –nodeps rpm -ivh nodeps 软件包名
②重复 replacepkgs rpm -ivh replacepkgs 软件包名
③软件冲突 force rpm -ivh force 软件包名
虽然这样可以把软件安装上去,但是软件不一定安装成功

Linux下文件系统挂载

==============挂载U盘==============

1. mkdir /home/fzy ##创建一个文件夹
2. fdisk -l ##插入U盘后查看是否有新硬盘添加上来
3. mount -t vfat /dev/sdb /home/fzy ##vfat是指的fat的格式的U盘
4. cd /home/fzy ##查看文件是否挂载成功
5. umount /dev/sdb ##卸载挂载

==============挂载光驱==============

1. mkdir /home/fzy ##创建一个文件夹
2. fdisk -l ##插入U盘后查看是否有新硬盘添加上来
3. mount -t iso9660 /dev/sr0 /home/fzy ## iso9660 是光盘文件的格式
4. cd /home/fzy ##查看文件是否挂载成功
5. umount /dev/sr0 ##卸载挂载

==============挂载硬盘==============

1. mkdir /home/fzy ##创建一个文件夹用户挂载
2. fdisk -l ##插入U盘后查看是否有新硬盘添加上来
3. mount -t ext3/dev/sda3 /home/fzy ## ext3是硬盘文件的格式
4. cd /home/fzy ##查看文件是否挂载成功
5. umount /dev/sda3 ##卸载挂载

一般情况下可以使用mount -t 不是必需的, 可以使用 mount (可以自动识别文件的类型)

Linux下文件打包和压缩

1.gzip
压缩: gzip fzy.tar
解压缩 gzip-d fzy.tar.gz
查看压缩结果 gzip -l fzy.tar.gz
2.bizp2
压缩: bzip2 fzy.tar
解压缩 bzip2 -d fzy.tar.bz2
3.tar 打包工具

tar -cvf fzy.tar fzy/ ##将文件夹下所有的文件进行打包
tar -xvf fzy.tar ##解开fzy.tar这个包
tar -czvf fzy.tar.gz fzy/ ##将文件下的的所有文件进行打包压缩
tar -cjvf fzy.tar.bz2 fzy/ ##将文件下的的所有文件进行打包压缩
tar -xzf fzy.tar.gz ##解压缩并解开包
tar -xjf fzy.tar.bz2##解压缩并解开包

Linux下系统周期性文件

Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

minute hour day month week command
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

例如:在上午8点到11点的第3和第15分钟执行
命令:3,15 8-11 * * * command

列出当前的执行的定时任务 crontab -l
修改当前的执行的定时任务 crontab -e
删除当前的执行的定时任务 crontab -r

Linux下用户管理

①添加用户
useradd 用户名

②删除用户
userdel 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。

③修改用户
usermod 用户名

④修改用户密码
passwd 用户名
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。

注意:普通用户可以修改自己的口令,root用户可以修改所有人的口令
/etc/passwd 存储基本信息
/etc/shadow 存储用户口令

Linux下进程管理

概念:进程就是操作系统正在运行的程序,它是操作系统资源管理的最小单位
ps -aux ##查看所有进程
kill -9 [ID号] ##杀死进程
kill -15 [ID号] ##终止软件

NFS服务器配置(Linux系统之间文件共享)

NFS 是Network File System的缩写,即网络文件系统

/etc/exports NFS的主要配置文件

格式:输出目录 [客户端1选项(访问权限,用户映射,其他)]

输出目录:是指NFS系统中需要共享给客户机使用的目录;
客户端:是指网络中可以访问这个NFS输出目录的计算机
客户端常用的指定方式
• 指定ip地址的主机:192.168.0.200
• 指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
• 指定域名的主机:david.bsmart.cn
• 指定域中的所有主机:*.bsmart.cn
• 所有主机:*
访问权限选项
• 设置输出目录只读:ro
• 设置输出目录读写:rw
用户映射选项
• all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
• no_all_squash:与all_squash取反(默认设置);
• root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
• no_root_squash:与rootsquash取反;
• anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
• anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
• secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
• insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
• sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
• async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
• wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
• no_wdelay:若有写操作则立即执行,应与sync配合使用;
• subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
• no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

nfs 服务器的启动
1. service nfs start/stop/restart 启动/停止/重启
2. service nfs status 服务器状态查询
实例

 /home/fzy 192.168.1.0/24(rw) ##192.168.1这个网段的用户可以对fzy文件夹读写操作

1.服务器端使用showmount –e 查询自己共享的nfs文件
2.服务器端使用showmount –a 显示连接上的客户端的目录信息
3.客户端使用showmount -e NFS服务器IP 查询服务器共享的文件
4. mount NFS服务器IP:共享目录 本地挂载点目录 进行文件挂载操作
5. chmod 777 -R /home/fzy/ ##修改文件夹的权限,客户端就可以写文件了
6. umount /tmp/fzy/ ##卸载nfs共享目录

Samba服务器配置(Linux和Windows之间文件共享)

Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享

/etc/samba/smb.conf 主要配置文件
1.用vi打开 smb.conf 配置文件 vi /etc/samba/smb.conf ,在末尾添加

[global] #全局参数
workgroup=workgrop
security=user
Host allow=192.168.1.1 #只允许这一台主机使用
Guest allount=nobody #来宾帐号
[homes] #访问根目录权限
comment = Home Directories #描述信息
browseable=yes
[share]  #共享的文件夹名称
comment = Shared Folder require password #描述信息
path = /home/share #共享文件夹的路径
browseable = yes #是否在window我的电脑中显示
public = yes  #是否在window我的电脑中显示
writable = yes #是否可以写
guest ok=yes #设置匿名用户访问

security 有4个等级share user server domain

  • Share:所有用户无须密码帐号
  • user:须帐号和密码需要samba服务器
  • Server:由域服务器控制
  • domain:由另一台域服务器控制器检查帐号密码

2.保存后重新启动samba服务器:sudo /etc/init.d/samba restart
3.打开windows 在文件夹框 输入 \\ip地址\share,按提示输入用户名密码即可

Linux下FTP服务器的配置

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

1.检测机器上是否安装ftp服务器 rpm –qa | grep vsftpd
2. rpm -ivh vsftpd-1.1.3-8.i386.rpm 安装FTP服务器
3. 在/etc/vsftpd/路径下会存在以下三个配置文件
vsftpd.conf: 主配置文件
ftpusers: 指定的用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户
user_list: 指定的用户是否可以访问ftp服务器,通过在vsftpd.conf文件中进行配置

 anonymous_enable=YES  #允许匿名用户登录
 local_enable=YES    #允许本地用户登录ftp服务器
 write_enable=YES   #允许用户对服务器执行写入操作
 local_umask=022        #设置服务器上本地用户创建文件的权限掩码
 dirmessage_enable=YES #启用目录提示消息
 xferlog_enable=YES #启用日志文件功能,记录于/var/log/xferlog
 connect_from_port_20=YES #主动模式下,是否启用默认的20端口进行数据传输
 xferlog_std_format=YES #启用标准的日志格式
 listen=NO  #vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制
 pam_service_name=vsftpd  #虚拟用户使用PAM认证方式
 userlist_enable=yes  #是否启用userlist_file文件
 tcp_wrappers=YES  #vsftpd服务器检查/etc/hosts.allow和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器
 allow_writeable_chroot=YES #去除用户主目录的写权限

4.启动FTP服务器 service vsftpd start ##开启ftp服务
5. 客户端访问FTP服务器的方式:
①客户端在浏览器输入:ftp://ip地址
②ftp客户端软件,比如FileZilla,输入ftp服务器IP,用户名,密码,端口:21
③命令行终端:ftp 用户名@ftp服务器IP,或 ftp 127.0.0.1

Linux下shell编程

1.用vi编辑器创建一个 fzy.exe vi fzy.exe

#!/bin/sh
#注释print hello world in the console window
a = "hello world"
echo $a

2.修改权限 chmod u+x fzy.exe
3.执行这个脚本 ./fzy.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值