Unix介绍
Unix主要分为内核(kernel)和外壳(shell)两部分组成,kernel的作用操作硬件系统,而shell是连接用户与kernel之间的桥梁,它将用户输入的命令,解释给kernel,并通过kernel操作计算机.
Shell的分类:
1. Bourne shell 简称 sh 提示符 $
2. Korn shell 简称 ksh 提示符 未知
3. C shell 简称 csh 提示符 %
4. Bourne_again shell 简称 bash 提示符 $
打开一个终端,输入各个shell的简称,变可以切换到该shell编辑模式.但无论哪种shell在使用root用户登录的时候提示符都为 #
Linux 下 ‘/’ 下的文件夹中 opt目录下存放的一般为应用程序 etc 目录下存放的一般为系统配置文件 dev 目录下存放的一般为外置设备文件,如打印机 usr 目录下存放的一般为系统文件
整个系统的所有的用户信息都存放在/etc/passwd文件下, 如:
root : x : 0 : 1 : Super User : / : /bin/sh 解析如下:
用户名 : 密码占位符 : 用户ID号 : 用户所属组的组ID : 用户描述 : 用户主目录 : 用户登录时默认shell
每个用户都有自己的主目录,对自己的主目录有绝对的访问权及操作权
终端常用命令
su USERNAME 切换到指定用户 USERNAME 为用户名
clear 清屏
pwd 返回当前目录的全路径
date 返回当前系统时间
cal 返回当前系统时间的月历表
. 当前目录
.. 当前目录的上一级目录
cd 回到当前用户的主目录
cd PATH 跳转到指定目录去 PATH 目标目录的全路径
cd ~USERNAME 跳转到指定用户的主目录去 USERNAME 为用户名
ls 简单列表的形式显示当前目录下所有的文件及目录(不包含隐藏文件)
ls –a 简单列表的形式显示当前目录下所有的文件及目录(包含隐藏文件)
ls –l 详细列表的形式显示当前目录下所有的文件及目录
ls –t 按最后一次修改时间排序显示当前目录下所有的文件及目录
例: ls –l
- rw- rw- r-- 4 user tarena 1024 Fed22 09:20 a.txt 解析:
类型 权限 硬链接数 属主 属组 大小 最后一次修改日期 文件名
类型:
- 代表文件
d 代表目录
@ 代表软链接(快捷方式)
权限:
r 代表 读权限
w 代表 写权限
x 代表 执行权限
- 代表 权限占位符
权限分为 3组 分别用3个权限符表示, 3组分别代表 属主权限 属组权限 其他人权限
如上边的例子: 这个文件的主人有对此文件的读写权限, 跟这个文件的主人同组的其他人有对这个文件有读写权限 其他的用户 只有读这个文件的权限
chmod (who)(op)(permission) 修改权限命令
who 包括 u g o a u代表属主 g 代表属组 o 代表其他人 a 代表所有人
op 包括 = - + = 代表赋值 – 代表减权限 + 代表加权限
permission 包括 r w x r代表 读权限 w 代表 写权限 x代表执行权限
permission 可以用数字表示 r = 4 w = 2 x = 1 如 6表示读写权限 7表示全权限
例如:
chmod a=rw a.txt 修改文件a.txt的权限 使所有人都对这个文件有读写权限
chmod u+x a.txt 修改文件a.txt的权限 给属主增加一个执行权限
chmod u+x go-w a.txt 修改文件a.txt的权限 给属主增加一个执行权限,并移除属组及其他人的写权限
chmod 644 a.txt 修改文件a.txt的权限 给属主读写权限,其他人只读权限
chmod 7777 DIRNAME 修改一个目录为临时目录 所有人对该目录都有绝对访问权,但计算机重启后该目录会清空 里边的内容都只保存在内存中 DIRNAME 目录路径
硬链接数: 该文件的其他快捷方式数
属主: 该文件的主人
属组: 该文件的主人所在的组的组名
大小: 该文件的大小
最后一次修改时间: 该文件的最后一次修改时间
文件名: 该文件的文件名
通配符:
* 表示 0~n个字符
? 表示 1 个字符
[a-z] 表示 a-z中的一个字符
[Ff] 表示 F或f
> 表示 输出重定项(覆盖性质)
>> 表示 输出重定项(追加性质)
< 表示 输入重定项
| 表示 管道符 将左边的结果最为参数传递给右边
文件与目录命令
touch FILENAME 创建一个文件 FILENAME 表示文件名
mkdir DIRNAME 创建一个目录 DIRNAME 表示目录名
rm FILENAME 移除一个文件 FILENAME 表示文件名
rm –r DIRNAME 移除一个目录 DIRNAME 表示目录名
cp SRC_FILE TARGET_FILE 复制文件 SRC_FIEL 原文件名 TARGET_FILE 复制后的文件名
cp SRC_FILE TARGET_DIR 复制文件 SRC_FIEL 原文件名 TARGET_DIR 目标目录名
cp –r SRC_DIR TARGET_DIR 复制目录 SRC_DIR 原目录 TARGET_DIR 目标目录
mv SRC_FILE TARGET_FILE 修改文件名 SRC_FILE 原文件名 TARGET_FILE 新文件名
mv SRC_FILE TARGET_DIR 移动文件到目标目录下 SRC_FILE 原文件 TARGET_DIR 目标目录
ln –s SRC_DIR TARGET 创建软链接 SRC_DIR 原文件路径 链接名
cat FILENAME 查看一个文件的内容
more FILENAME 查看比较大的文件的内容 (它可以分页显示)
head [-n] FILENAME 查看文件的头N行信息 默认10行
tail [-n] FILENAME 查看文件的尾N行信息 默认10行
tail –f FILENAME 动态打开文件(一般用来打开并观察日志文件的变化)
vi FILENAME 编辑文件 FILENAME 文件名 如:
vi:
输入模式命令:
i 光标前插入
a 光标后插入
x 删除一个字符
dd 删除一行
r 替换一个字符
cc 替换一行
cw 替换一个单词
底行模式命令:
:w 保存
:w newFileName 以新的文件名保存
:wq 保存并退出
:q! 退出但不保存
vi编辑中分三种模式,分别是命令模式,输入模式,底行模式.按ESC从输入模式退回到命令模式,输入底行命令进入底行模式
在底行模式,按回车从底行模式退回到命令模式,输入输入命令进入输入模式
用户与查找命令
id 显示当前用户信息
id USERNAME 显示指定用户的信息
id –a USERNAME 显示指定用户的详细信息
users 显示所有的在线用户
who am i 显示当前用户的真实ID信息
whoami 显示当前用户正在使用的ID信息
ifconfig 显示当前机器的IP信息
find PATH EXPRESSION 在PATH目录下查找EMPRESSION
grep EXPRESSION 搜索EXPERSION 多用于进程的搜索
wc –c 计算字符个数
wc –l 计算行数
wc –w 计算单词个数
du –sk FILENAME 计算一个文件的大小
ps 查看正在运行的进程(不包括守护进程)
ps –ef 查看正在运行的线程(包含守护进程)
ps –auwx 及其详细的查看再在运行的所有线程
ps –auwx|grep java 搜索详细线程中线程名称带java的线程
ps –auwx|grep java|grep gateway 搜索详细线程中线程名称既带java又带gateway的线程
kill 线程ID 关闭该编号的线程 (对守护线程无效)
kill -9 线程ID 关闭该编号的线程 (对守护线程也有效)
其他
配置当前用户本身的环境变量(如:当前用户的loginShell为bash):
$cd 返回当前用户的主目录
$vi .bash_profile 编辑隐藏配置文件
$source .bash_profile 重启动配置文件或重启计算机
配置java,修改内容如下:
JAVA_HOME = /opt/jdk1.6.0 告诉第三方软件,java的安装目录
CLASSPAHT = $JAVA_HOME/lib:. 告诉JVM字节码(*.class)文件的位置
PATH = $JAVA_HOME/bin:. 在已有的PAHT后追加java/bin的路径
export JAVA_HOME CLASSPATH PATH 声明这些变量变更为全局变量
FTP 命令:
ftp IP
user:
password:
搜索要下载的文件
mget FILE
bye