首页 > 代码库 > 初识linux
初识linux
一.Linux是什么:简单点说,linux就是一个操作系统,和windows、mac的os x 一样。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
二.Linux上传下载文件
Xftp、FileZilla、Winscp等工具
rz、sz命令不能上传文件,需要打包
Rzsz命令安装:使用yum安装,yum –y install lrzsz,编译安装:http://blog.chinaunix.net/uid-20639775-id-154615.html
三.Linux系统管理
<1>登录程序login负责用户登录
1.认证用户身份
2.身份验证成功后,启动shell并初始化用户环境
3.检查电子邮件,并给予提示
4.失败登录由syslog程序记录到日志中,成功登录记录到 /var/log/wtmp,失败登录记录到/var/run/utmp
<2>登录成功后,根据 PS1变量设置结果显示终端
1.PS1=“[\u@\H \W]\\\$ “
2.说明: \u :当前用户的账号名称 \H :完整的主机名称
3.\W 工作目录名称,所以只会列出最后一个目录
4.\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
<3>注销
1.exit(常用于字符界面,图形界面只关闭终端窗口)
2.logout(仅文本终端)
<4>重启
reboot
1.-w:不实际关机,用户登录信息写入/var/log/wtmp
2.-d:不将用户登录信息写入/var/log/wtmp
3.-f:强制重启
4.reboot 可以不接参数
shutdown
1.shutdown -r 延时分钟数 “提示信息”
2.shutdown -r now(now表示立即执行)
3.不能单独用,至少2个参数
<5>关机
halt
-w:不实际关机,用户登录信息写入/var/log/wtmp o -d:不将用户信息写入/var/log/wtmp
-f:强制关机
-p:关机后,关闭电源
可以不接参数
poweroff
除了无-p参数,其他与halt同
init 0
shutdown
shutdown -h 延时分钟数 “提示信息”
shutdown -h now(now表示立即执行)
不能单独用,至少2个参数
图形化界面和文本界面。
修改/etc/inittab文件中initdefault参数可以修改默认启动图形化界面还是文本界面,3为默认进入文本界面,5为默认进入图形化界面。
文本界面/图形化界面切换
1.文本界面下输入init5或者startx切换图形化界面。
2.图形化界面下输入init3切换文本界面。一般默认进入文本界面。
四.Linux用户
<1>添加用户
1.useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名
useradd -d /usr/local/nginx/ -g nginx -G nginx,oracle -p123456 -s /bin/bash test4
2.若没有使用-p,可以使用命令加密:passwd 用户名
passwd test4
可以不加参数直接useradd test5,添加一个用户,默认使用bash shell,家目录在/home/下
<2>修改用户
usermod -l 新用户名 -d 新家目录 旧用户名
usermod –l tom –d /usr/local/tomcat test4
家目录要存在,且为绝对路径
Usermod中同样可以使用useradd参数
<3>删除用户
userdel -r 用户名
userdel –r test3
-r用于删除家目录及其所有文件
注:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
<4>切换用户
1.su
用法: su root 或者 su - root
这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量
<5>获取超级用户权限
1.sudo
用法:sudo reboot
有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限。
如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,例如要besttest用户可以使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到 root ALL=(ALL) ALL 这一行,在它下面加入bestest ALL=(ALL) NOPASSWD:ALL然后保存即可。NOPASSWD代表该用户使用sudo的时候不用输入密码。
$和#,$代表普通用户,#代表root用户。
二、Linux组
<1>增加组
groupadd -g 组ID -r 组名
Groupadd –g 451 –r besttest
-r:建立系统组,组ID小于499
新组ID在500-60000之间,小于500的为系统组
所有参数均可省(除了组名)
<2>修改组
groupmod –g 组新id –n 组新名 组旧名
groupmod –g 561 –n test besttest
<3>删除组
groupdel 组名
groupdel test
五.Linux文件目录结构
bin存放二进制文件,敲的命令
boot系统启动文件,内核
dev设备文件,硬盘
etc配置文件
home用户的家目录
lib存放链接库文件
media挂载点
mnt也是一个挂载点,挂载光盘,u盘
opt源码包安装,不知名安装路径,一般安装在usr
proc内核的一些参数
root里面root的家目录
tmp安装一些临时文件
usr安装软件默认装在usr
六.文本编辑器VI
什么是vi:vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。
vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性,可以把vim理解为vi的升级版。
VI的两种模式:
命令模式
进入vi时的默认模式,此模式下所有的用户输入都视为命令
用户在此模式下进行搜索、复制、替换等
编辑模式
用户在此模式下可以编辑文本内容
模式切换
命令进入编辑:i(当前位置) 、a(下一位置)、o(下一行) 编辑进入命令:esc
VI对文件的编辑方式:
①光标定位:
M 移动光标到页面中央
L移动光标到页面尾处
H移动光标到页面开始处
Ctrl+f向后翻页
Ctrl+b向前翻页
0移动光标到行首
$移动光标到行尾
/:从上往下开始查找
?:从下往上开始查找
②撤销和重复
u复原前一个动作
. 重复前一个动作
③复制 粘贴 删除
nyy 复制光标所在的向下n行内容
p在光标处粘贴复制的内容
ndd删除光标所在向下n行的内容
ctrl + d:往下翻半屏内容
ctrl + u:往上翻半屏内容
shift + g:到文件末尾
r:替换当前位置字符
x:删除当前位置字符
dd:删除整行
set number:显示行号
④搜索字符串
输入/+要查找的字符串
/bestest
按n键重新查找下一个
⑤退出vi
q 退出vi
q! 不保存退出
wq 保存退出
w 保存
!强制,后面加叹号的话表示强制
七.文件相关常用命令
八.inux常用命令
归档压缩命令:gzip/gunzip zip/unzip tar
1.gzip/gunzip:
①功能:压缩和解压缩
②命令格式:
gzip –[1…9] [trv] file
gunzip file
-1:表示压缩速度最快,压缩比最低
-9:表示压缩速度最慢,压缩比最高
-t:表示校验压缩文件的完整性
-r:表示压缩时包含子目录中的内容
-v:表示压缩时显示正在压缩的文件名和压缩比等资料
③示例:gzip -1trv test.txt
gunzip test.txt.gz
2.zip/unzip:
①功能:压缩zip包和解压缩以.zip结尾压缩文件
②命令格式:
zip [选项] 压缩文件名 需要压缩的文档列表
-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
-x “文件列表” 压缩时排除文件列表中指定的文件
-m 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中
- 压缩级别 压缩级别是一个1~9的数字
可以不加任何参数使用
③unzip [选项] 压缩文件名
-x "文件列表" 解压文件,但不包含文件列表中指定的文件
-t 测试压缩文件有无损坏,并不解压
-v 查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压
-n 解压时不覆盖已经存在的文件
-o 解压时覆盖已经存在的文件,并且不要求用户确认
-d 目录名 把压缩文件解压到指定目录下
可以不加任何参数
④示例:
zip -9r /opt/etc.zip /etc #把/etc下所有文件和文件夹压缩到/opt下的etc.zip
zip –r /opt/var.zip /var –x “*.log”#把/var下所有的文件和文件夹除了以.log结尾的都压缩到/opt目录的var.zip中
unzip –o /opt/etc.zip –d /etc #把/opt/etc.zip解压到 /etc目录下
3.tar:
tar:文件打包
①用法 :tar[参数] 目标文件 源目录或文件
②主要参数:
-c:创建新文档
-x:解压缩归档文件
-f 文件名:使用归档文件
-j:使用bzip2解压缩
-z:使用gzip解压缩
-v:详细输出模式
③示例:
tar zcvf test.tar test#压缩
tar zxvf test.tar #解压缩
4.find:
find:查找目录下的文件
①用法: find 目标目录 搜索参数 操作参数
②主要参数:
-name 文件名:可以跟通配符
-amin 分钟数:文件最后访问时间为指定分钟之前,负数表示之后
-atime 天数:文件最后访问时间为指定天数之前,负数表示之后
-cmin 分钟数:文件最后修改时间为指定分钟之前,负数表示之后
-ctime 天数:文件最后修改时间为指定天数之前,负数表示之后
-user 用户名:属于用户的目录和文件
-type 文件类型
③示例:
find / -name besttest
5.crontab定时任务:
①作用
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户
②格式
crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }
不加-u参数的话,默认是当前用户
③主要参数
-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。
-r:删除目前的时程表。
-l:列出目前的时程表。
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,*代表每分钟都执行
④示例 :
- * * * * * sh /opt/lampp/test.sh 表示每分钟执行一次test.sh这个脚本
- */5 * * * * sh /opt/lampp/test.sh 表示每5分钟执行一次test.sh这个脚本
- 30 21 * * * /usr/local/apache/bin/apachectl restart 表示每晚的21:30重启apache
九.其他常用命令
1.设置环境变量:
- 简单的说计算机在执行命令的时候是在环境变量找对应的命令的位置的。如果不正确设置环境变量就不能正确使用相应的命令
- Linux中系统变量是在/etc/profile目录下的,用户的环境变量则在用户的家目录下的.bash_profile文件中,系统环境变量会在开机的时候全部加载,用户的环境变量之后在用户登录时加载
- 比如说没有mysql命令,我们的mysql客户端是在/opt/lammp/bin目录下,那就可以把/opt/lammp/bin加入到/etc/profile就可以使用mysql命令了 export LAMPP=/opt/lampp/bin,然后再source /etc/profile 重新加载一下就可以生效了
2.系统服务:
- chkconfig:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。
- 常用参数:
- chkconfig --add test.sh #将test.sh作为一个系统服务,但是test.sh这个脚本必须放在/etc/rc.d/init.d目录下(还有文章,看注释)
- chkconfig --del test.sh #删除一个系统服务
- service test.sh start #运行刚才设置的系统服务
- chkconfig test.sh on 开机启动
- chkconfig test.sh off 取消开机启动
- 一些常见的系统服务:
- iptbles #防火墙
- network #网络
- httpd #Apache
- nginx #nginx
注:
# chkconfig: 2345 90 10
# description: this is a test
3.开机启动运行脚本:
除了刚才那种把做成系统服务,然后做成开机启动,还有一种就是在/etc/rc.d/rc.local文件中加入要开机执行的脚本
例如要开机启动lampp,在/etc/rc.d/rc.local文件中加入/opt/lampp/lampp start即可
临时关闭防火墙 service iptables stop,重启后会失效
date命令,显示当前系统时间,后面可以跟日期格式
cal查看日历,后面可以跟年份查看指定年份的日历
whoami查看当前登录用户
who查看当前有多少用户在使用系统
4.后台运行进程
命令最后加&
命令执行后显示:后台程序序列号和进程号
若终端被关闭,则带&的后台命令也一同关闭
可以使用ps -aux查看
示例:python test.py &
nohup 命令 &
终端被关闭,后台进程继续运行
示例:nohup sh startWebLogic.sh &
jobs命令可以查看后台进程序列号及执行情况
直接输入jobs即可
##########################################################################################
初识linux