首页 > 代码库 > 初识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>添加用户

 

1useradd -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>切换用户

 

1su

 

用法: su root 或者 su - root

 

这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量

 

<5>获取超级用户权限

 

1sudo

 

用法: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

 

新组ID500-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

什么是viviLinux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。

vimvimvi的升级版本,它不仅兼容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 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中

- 压缩级别 压缩级别是一个19的数字

可以不加任何参数使用 

③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代表分钟(059),H代表小时(023),D代表天(131),m代表月(112),d代表一星期内的天(060为星期天)。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.系统服务:

 

  • chkconfigchkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。
  • 常用参数:
    • 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即可

##########################################################################################

 

停止tomcat脚本
技术分享
启动tomcat脚本,动态看日志
技术分享

 

 

 

3.top和ps -ef的区别

 

ps只显示执行那一刻的东西,是静态的,top是动态的查看内存啥啊

 

 

 

 

 

 

 

 

 

 





初识linux