目标
掌握linux的一些基本命令
掌握linux常用的系统管理命令
学会日常软件的安装
在linux系统里面发布web项目
正文
用户账号文件 - passwd
Passwd 是一个文本文件,用于定义系统的用户账号,该文件位于“/etc/passwd”。它包含了一个系统账户列表,给出每个账户一些有用的信息。 passwd文件中每行定义一个用户账号,一行中又有以“:”分割的多个字段
account |
账号名称 |
password |
账号密码,出于安全考虑,现在不使用该字段保存口令,而用字母“x”来填充该字段,真正的密码保存在shadow文件。 |
UID |
用户 ID 号,惟一表示某用户的数字。 |
GID |
用户所属的私有组号,该数字对应group文件中的GID。 |
GECOS |
这字段是可选的,通常用于保存用户命名的信息。 |
directory |
用户的主目录,用户成功登录后的默认目录。 |
shell |
用户所使用的shell,如该字段为空则使用“/bin/sh”。 |
用户组文件 - group
用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。系统上的每一个文件都有一个用户和一个组的属主。
系统上的每个组,在/etc/group文件中有一行记录,每行有四个字段。
Group Name 是组的名字
passwd 组的加密口令
GID 系统区分不同组的ID
User list 是用“,”分开的用户名,列出的是这个组的成员。
groupadd, groupdel
groupadd命令用来建立一个新的组
实例: groupadd mygroup
Groupdel命令用于删除组
实例:groupdel mygroup
useradd
useradd用于添加用户。
命令格式:useradd user
在/etc/passwd 文件中增添了一行记录;在 /home目录下创建新用户的主目录,并将 /etc/skel目录中的文件拷贝到该目录中去;这时这个用户还无法登陆,必须得设置password设置密码后才能登陆。
增加新用户时,系统将为用户创建一个与用户名相同的组。这一方法是为了能让新用户与其他用户隔离,确保安全性的措施。
如果觉得上面的建立用户不是很好,比如:还要设置密码,可以考虑使用useradd的带参数来创建用户:
useradd xxx -g xxx -d /home/xxx -m -s /bin/bash |
使用这种方式来建立用户,会设置组,用户主目录,指定shell,和密码。
usermod
usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。
usermod命令的参数如下:
-g |
修改用户名的所在组。 |
-l |
修改用户名。 |
-L |
将用户账号锁定。 |
-U |
将用户账号解锁。 |
usermod -g 要修改的组名 账号
usermod -l 修改后的账号 要修改的账号
usermod –L 要锁定的账号
usermod –U 要解锁的账号
userdel
userdel用户删除用户,语法格式:
userdel [-r] [要删除的账号]
不带参数”r”删除账号的时候只会删除账号,而此账号主目录下面的文件是不会删除的,如果在删除账号的同时也删除文件使用”-r”。
passwd
passwd命令用于设置或者修改用户名的密码,命令格式是:Passwd [用户名]
只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。
另外,passwd命令还可以使用一些参数选项,这些参数选项可对账号的口令进行不同的操作,但这些带参数的passwd命令只有root用户可以使用。这些参数选择包括:
-S |
用于查询指定用户账号的状态。 |
-l |
用于锁定账号的口令 |
-u |
解除锁定账号的口令。 |
-d |
删除指定账号的口令。 |
who am i &whoami
[sinoyang@bogon ~]$ whoam i
这时系统仅回送用户自己的注册信息。
[sinoyang@bogon ~]$ whoami
也可以返回用户的信息。
id, su, groups
id命令用于显示用户当前的UID,GID以及所属群组的组列表该指令的语法格式为:
id [选项] [用户名称]
su命令是用来将当前用户转换为其他用户身份。
su [-][用户帐号]
-:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。
ps, kill
ps命令最常用的还是用于监控后台进程的工作情况。
其命令语法格式如下:ps [选项]
-e |
显示所有进程。 |
-f |
全格式。 |
-h |
不显示标题。 |
-l |
给出长列表。 |
-a |
显示终端上的所有进程,包括其他用户的进程。 |
-r |
只显示正在运行的进程。 |
-u |
打印用户格式,显示用户名和起始时间。 |
一般情况下可以使用ps –ef 来查看。
kill命令可以终止后台进程。通过ps命令查询到进程ID后,就可以通过kill命令强制关闭进程。
kill -9 pid (强制关闭某进程)
chmod
chmod命令来改变文件权限位的设置。
chmod命令的一般格式为:
chmod [who] operator [permission] filename
who的含义是:
u:文件属主权限。
g: 同组用户权限。
o: 其他用户权限。
a: 所有用户(文件属主、同组用户及其他用户)。
operator的含义:
+: 增加权限。
-: 取消权限。
=: 设定权限。
permission的含义:
r: 读权限。
w: 写权限。
x: 执行权限。
chmod实例
chown用于改变文件或者目录的拥有者,也就是把它的所有权交给另外一个/etc/passwd文件中存在的合法用户。出于安全性的考虑。只有系统管理员可以改变文件的所有权。
chown命令的一般形式为:
chown -R -h owner file
- h选项意味着在改变符- R选项意味着对所有子目录下的文件也都进行同样的操作号链接文件的属主时不影响该链接所指向的目标文件。
chgrp命令的作用是改变文件的属组。chgrp命令和chown命令的格式差不多。
ifconfig
ifconfig ech0 stop
ifconfig ech0 up
ifconfig eth0192.168.204.135 netmask 255.255.255.0
ln
ln用于设置链接,这个类似于windows中的快捷方式
该命令的一般形式为:
ln [-s] source_path target_path
cron和crontab
cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做crontab的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。为了能够在特定的时间运行作业,需要了解c r o n ta b文件每个条目中各个域的意义和格式。
下面就是这些域:
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
crontab命令选项
crontab命令的一般形式为:
crontab [-u user] -e -l –r
其中:
-u 用户名。
-e 编辑crontab文件。
-l 列出crontab文件中的内容。
-r 删除crontab文件。
Crontab实例
find
find是一个非常有效的命令,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。
find命令的一般形式为:
find pathname -options [-print -exec-ok]
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' comm - and'{} \;,注意{ }和\;之间的空格。
-ok: 和- exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
find命令选项
find命令有很多选项或表达式,每一个选项前面跟随一个横杠-。让我们先来看一下该命令的主要选项。
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
Find命令实例
find / -name "mysql“
find /usr/local/mysql/ -name "*.sh“
find / -user sinoyang –print
find / -group class106
find /home/sinoyang/ -type d
find /home/sinoyang/ -type f
find logs/ -name "*.log"-exec rm -rf {} \
grep
grep '8080' server.xml
grep '8080' -v server.xml
grep -n '8080' server.xml
grep -c '8080' server.xml
grep '^$' –cserver.xml
grep "ssh" ~/ -rn
awk
cat /etc/passwd | awk -F:'{print $1}‘
rsync sinoyang@192.168.204.135:~/test.sh~/
rpm
rpm –ivh MySQL-client-5.1.7-0.rpm
rpm -qa | grep MySQL
rpm -qa | grep -i mysql
rpm –e
tar
Tar用来压缩解压文件
tar –zxvf xxx.tar.gz 解压
tar –zcvf xxx.tar.gz xxx 压缩
其它命令
free –m 查看内存情况
top 查看cpu使用情况
df –h 查看硬盘使用情况
du –sh 统计目录大小
service iptablesstop/start 开启/关闭防火墙
service mysqlstop/start 开启/关闭MYSQL
cat /etc/issue 查看系统版本
cat /etc/passwd | wc –l 查询文件的行数
安装JDK
解压JDK安装文件
./jdk-6u13-linux-i586.bin
配置环境变量
修改.bash_profile
设置的环境变量生效
source .bash_profile 或者注销重新登录。
安装tomcat
解压tomcat的安装文件
tar -zxvf apache-tomcat-7.0.2.tar.gz
修改$tomcat/bin目录下的shell文件执行权限
chmod u+x *.sh
启动tomcat
./startup.sh
查看tomcat是否启动好
ps -ef | grep tomcat
关闭tomcat