Linux下面没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)
命令格式: 命令 [-选项] [参数]
如:ls -la /usr
**说明: **
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a à ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a
作用:切换用户身份
语法:su [选项] 用户名
-c 仅执行一次命令,而不切换用户身份
$ su – root
env
$ su – root –c "useradd longjing"
文件或目录的CRUD
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录] / 切换到根目录
.. 回到上一级目录
. 当前目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录.
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
①.,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令.
扩展点 :删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
eg:cat /etc/services
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接
eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
①. 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接.
格式解析(特征):
①., 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
①.,相当于 cp -p +同步更新
删除软连接
rm -rf symbolic_name
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出.
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令
命令名 --help 列举该命令的常用选项
eg: cp --help
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name "init" 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
:匹配单个字符
eg:find /etc -name "init?" 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来.如果*被转义,可使用 单双引号括住查询条件,或者使用*.
eg: # find . –name *g
-size ****按文件大小查找
**-type ** 按文件类型查找
f 二进制文件l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find****查找的基本原则 :
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行.
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n "init"/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c"init"/etc/inittab 显示在inittab文件中,init匹配了多少次
命令路径:/usr/bin/which 执行权限:所有用户
作用: 显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **
eg: which passwd 和 whereis passwd
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据.
解压使用unzip
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
①., 单独的打包 ,解包 tar –cf tar –xf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
①.,文件路径, 压缩包带文件路径
**shutdown **[选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
其他关机命令 halt poweroff init 0
其他重启命令
**reboot **重启系统 reboot -h now立即重启
注意:生产环境中,关机命令和重启命令谨慎执行.
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
只有命令,没有菜单.
周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧.半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
:
命令模式:又称一般模式
|
命令
作用
a
在光标后附加文本
A(shift + a)
在本行行末附加文本 行尾
i
在光标前插入文本
I(shift+i)
在本行开始插入文本 行首
o
在光标下插入新行
O(shift+o)
在光标上插入新行
:set nu
设置行号
:set nonu
取消行号
gg
G
到第一行
到最后一行
nG
到第n行
:n
:w
保存修改
:w new_filename
另存为指定文件
:w a.txt
内容追加到a.txt文件中 文件需存在
:wq
保存修改并退出
shift+zz(ZZ)
快捷键,保存修改并退出
:q!
不保存修改退出
:wq!
保存修改并退出(文件所有者可忽略文件的只读属性)
不保存并退出:
①., 有修改,但是修改后的内容是不保存的
x
删除光标所在处字符 nx 删除光标所在处后n个字符
dd
删除光标所在行,ndd删除n行
dG
删除光标所在行到末尾的内容
D
删除从光标所在处到行尾
yy、Y
复制当前行
nyy、nY
复制当前行以下n行
剪切当前行
ndd
剪切当前行以下n行
p、P
粘贴在当前光标所在行下 或行上
r
取代光标所在处字符
R(shift + r)
从光标所在处开始替换字符,按Esc结束
u
undo,取消上一步操作
ctrl+r
redo,返回到undo之前
/string
向后搜索指定字符串 搜索时忽略大小写 :set ic
string
向前搜索指定字符串
n
搜索字符串的下一个出现位置,与搜索顺序相同
N(Shift + n)
搜索字符串的上一个出现位置,与搜索顺序相反
:%s/old/new/g
全文替换指定字符串
在一定范围内替换指定字符串
% 指全文,s 指开始,g 指全局替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令?
:!which cp
vi里面怎么导入命令的结果?
:r !which cp
v 可视字符模式
V****(shift+v) 可视行模式,选择多行操作
**ctrl+v **可视块模式(列模式),操作列
I或者O进入插入模式.
①.,图形化界面
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
重启网络生效:
service network restart
命令路径:/bin/ping 执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
netstat –antpl
临时生效:
hostname 主机名
永久生效:修改配置文件
vi /etc/sysconfig/network
修改主机名和ip地址之间的映射关系
vi /etc/hosts
可配置别名
进程和程序的区别:
①.、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的.
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源.
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程.
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
查看系统中所有进程
ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息
作用: 查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况.
语法:top [选项]
作用:关闭进程
语法:kill [-选项] pId
kill -1 进程号(重启进程)
添加用户
语法:useradd [选项] 用户名
修改密码命令
语法:passwd [选项] [用户名]
删除用户
-r 删除账号时同时删除宿主目录(remove)
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息.看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息 -a 显示所有分区包括大小为0 的分区
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间.
du命令面向文件,只计算文件或目录占用的空间.
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 /proc/sys/vm/drop_caches
一. Linux下UDP编程框架
①服务器端程序包括:
建立套接字
将套接字地址结构进行绑定
读写数据
关闭套接字
二.Linux中UDP套接字函数
网络程序通过调用socket()函数,会返回一个用于通信的套接字描述符.Linux应用程序在执行任何形式的I/O操作的时候,程序是在读或者写一个文件描述符.所以呢,可以把创建的套接字描述符看成普通的描述符来操作,并通过读写套接字描述符来实现网络之间的数据交流.
① socket
①. 函数原型:
int socket(int domain,int type,int protocol)
函数socket()用于创建一个套接字描述符.
domain:用于指定创建套接字所使用的协议族,在头文件
中定义.
常见的协议族如下:
AF_UNIX:创建只在本机内进行通信的套接字.
说明:
AF_UNIX只能用于单一的UNIX系统进程间通信,而AF_INET是针对Interne的,因而可以允许在远程主机之间通信.一般把它赋为AF_INET.
type:指明套接的类型,对应的参数如下
SOCK_STREAM:创建TCP流套接字
SOCK_DGRAM:创建UDP数据报套接字
SOCK_RAW:创建原始套接字
protocol:
参数protocol通常设置为0,表示通过参数domain指定的协议族和参数type指定的套接字类型来确定使用的协议.当为原始套接字时,系统无法唯一的确定协议,此时就需要使用使用该参数指定所使用的协议.
int sock_fd;
sock_fd = socket(AF_INET,SOCK_DGRAM,0);
if(sock_fd 0){
perror("socket");
exit(1);
}
①. 函数原型:
int bind(int sockfd,struct sockaddr *my_addr,socklen_taddrlen)
函数bind()的作用是将一个套接字文件描述符与一个本地地址绑定在一起.
sockfd:sockfd是调用socket函数返回的文件描述符;
addrlen是sockaddr结构的长度.
my_addr: 是一个指向sockaddr结构的指针,它保存着本地套接字的地址(即端口和IP地址)信息.不过由于系统兼容性的问题,一般不使用这个结构,而使用另外一个结构(struct sockaddr_in)来代替
(1)structsockaddr:
结构struct sockaddr定义了一种通用的套接字地址,它在
Linux/socket.h 中定义.
struct sockaddr{
unsigned short sa_family;/*地址类型,AF_XXX*/
a. sin_family:表示地址类型,对于使用TCP/IP协议进行的网络编程,该值只能是AF_INET.
b. sa_data:存储具体的协议地址.
每种协议族都有自己的协议地址格式,TCP/IP协议组的地址格式为结构体struct sockaddr_in,它在netinet/in.h头文件中定义.
struct sockaddr_in{
unsigned short sin_family;/*地址类型*/
unsigned short sin_port;/*端口号*/
struct in_addr sin_addr;/*IP地址*/
b. sin_port:是端口号
d. 数组sin_zero为填充字段,一般赋值为0.
e. structin_addr的定义如下:
struct in_addr{
unsignedlong s_addr;
函数成功后返回0,当有错误发生时则返回-1,错误代码存入errno中.
struct sockaddr_in addr_serv,addr_client;/*本地的地址信息*/
memset(serv_addr,0,sizeof(struct sockaddr_in));
addr_serv.sin_family = AF_INET;/*协议族*/
addr_serv.sin_port = htons(SERV_PORT);/*本地端口号*/
addr_serv.sin_addr.s_addr = htonl(INADDR_ANY); /*任意本地地址*/
/*套接字绑定*/
if(bind(sock_fd,(struct sockaddr *)addr_serv),sizeof(structsockaddr_in)) 0)
{
perror("bind");
①.函数原型:
int close(intfd);
函数close用来关闭一个套接字描述符.
参数fd为一个套接字描述符.
执行成功返回0,出错则返回-1.错误代码存入errno中.
以上三个函数中,前两个要包含头文件
#include
后一个包含:
ssize_t sendo(ints,const void *msg,size_t len,int flags,const struct sockaddr *to,socklen_ttolen);
向目标主机发送消息
s:套接字描述符.
*msg:发送缓冲区
len:待发送数据的长度
flags:控制选项,一般设置为0或取下面的值
(1)MSG_OOB:在指定的套接字上发送带外数据(out-of-band data),该类型的套接字必须支持带外数据(eg:SOCK_STREAM).
to:用于指定目的地址
tolen:目的地址的长度.
执行成功后返回实际发送数据的字节数,出错返回-1,错误代码存入errno中.
char send_buf[BUFFERSIZE];
struct sockaddr_in addr_client;
memset(addr_client,0,sizeof(struct sockaddr_in));
addr_client.sin_family = AF_INET;
addr_client.sin_port = htons(DEST_PORT);
perror("inet_aton");
if(sendto(sock_fd,send_buf,len,0,(strut sockaddr*)addr_client,sizeof(struct sockaddr_in)) 0){
perror("sendto");
ssize_t recvfrom(int s,void *buf,size_t len,intflags,struct sockaddr *from,socklen_t *fromlen);
int s:套接字描述符
buf:指向接收缓冲区,接收到的数据将放在这个指针所指向的内存空间.
len:指定了缓冲区的大小.
flags:控制选项,一般设置为0或取以下值
(1)MSG_OOB:请求接收带外数据
*from:保存了接收数据报的源地址.
*fromlen:参数fromlen在调用recvfrom前为参数from的长度,调用recvfrom后将保存from的实际大小.
执行成功后返回实际接收到数据的字节数,出错时则返回-1,错误代码存入errno中.
char recv_buf[BUFFERSIZE];
int src_len;
src_len = sizeof(struct sockaddr_in);
if(recvfrom(sock_fd,recv_buf,sizeof(recv_buf),0,(structsockaddr *)src_addr,src_len)0){
perror("again_recvfrom");
三.UDP编程实例
①服务器端程序
①. #include
①.1
①.0
两个系统都是用netstat命令,选项不一样而已
linux中查看udp连接,netstat -u
windows中:netstat -p udp
可以参考,基本流程和原理就是这样,交叉编译一下,下到板子上应该可以.
linux常用命令(基础)
① man 对你熟悉或不熟悉的命令提供帮助解释
eg:man ls 就可以查看ls相关的用法
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行.
eg: ls /usr/man
ls -l
a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x).
eg: rm 1.c //将1.c这个文件删除
mv qib.tgz ../qib.tgz //移到上一级目录
eg: pwd //查看当前所在目录路径
cd netseek //进入netseek这个目录
cd //退出当前目录
将某个文件的内容显示出来.两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
eg; cat1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码.
cat 1.c 或more 1.c //都可以查看里面的内容.
gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码.
eg: chmod u+x filenmame //只想给自己运行,别人只能读
//u表示文件主人, g 表示文件文件所在组. o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
chmod g+x filename //同组的人来执行
clear:清屏,相当与DOS下的cls;date:显示当前时间.
①.0. mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
①.1. su 在不退出登陆的情况下,切换到另外一个人的身份
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//which:查询该命令所在目录(类似whereis)
eg: whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
which bin
grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
eg; ps ax
eg: history //可以显示用户过去使用的命令
eg: mkdir netseek //创建netseek这个目录
eg: finger //查看所用用户的使用资料
finger root //查看root的资料