1. 查看当前目录下有哪些文件和目录
> ls //list
> ls -al //all list 显示当前目录中全部的子目录及文件的详细信息(以列表形式显示) 会显示隐藏文件
> ls -l //list显示当前目录一般文件的详细信息(以列表形式显示)
> ls -a //显示当前目录全部文件信息,只有文件的名字
> ls 目录 //罗列指定目录的文件信息
> ll //以列表形式列出当前目录文件的详细内容(不会显示隐藏文件)
ls -li # -i参数显示文件的inode节点信息
2. 查看我当前在哪个目录
>pwd
3. 显示当前用户信息
>who am i //显示用户名 和 其登录系统的时间信息
>whoami //只显示当前登录系统的用户名信息
4. 从普通用户切换到root用户
> su - //提示输入密码
5. 从root用户切换到普通用户
> su shuhua //从root切回普通用户
6. 从桌面窗口切换为“命令行窗口”(通过超级管理员切换)
> init 3
> init 5 //从“命令行”切换回“桌面”
7. 目录切换
> cd 具体目录
8. 输出文件的信息,全部内容直接都输出
>cat 文件
9. 创建目录指令
> mkdir 目录
> mkdir -p 目录1/目录2/目录3 //递归创建目录
10. 修改目录的名字
> mv 目录1 目录2 //把"目录1"的名字改为"目录2"的名字
> mv 目录/目录a 目录/目录b //把“目录a”改成"目录b"
11. 移动操作
> mv 文件 目录 //移动文件到指定的目录
> mv 目录 目录 //移动目录到指定目录(包括多级目录)
12. mv指令什么时候是移动,什么时候是该名字
mv 一参 二参
二参 是不存在的,就是改名字
二参 是存在的目录,就是移动
mv com.txt red.txt
red.txt是存在的文件,com.txt也是存在的文件
首先明确,不可以移动操作
不能
【能】把名字由com.txt改为red.txt
mv guangzhou hello.txt
guangzhou 是存在的目录
hello.txt 是存在的文件
首先明确不能移动
是否可以把guangzhou的名字改为hello.txt
【不能】把名字由“guangzhou”改为"hello.txt"
能
13. 删除目录
> rmdir 目录 //删除单个目录(没有子级目录)
> rm -rf 文件名字 //force强制 recursive 递归删除
> rm -rf / //kill your self [root用户可以删除更多的文件]
> rm -rf shanghai/beijing //这是删除shanghai下边的beijing目录,不会删除shanghai
14. 复制
>cp copy
>cp 目录 地址 -R //复制目录需要加上固定参数-R,目录会进行递归复制
>cp 文件 目录/不存在名字 //文件在被复制到指定目录的同时被“改名字”
>cp 文件 新文件名字 //复制同时并起新名字
15. 查看文件内容
> more 文件 //从文件内容第一行开始显示,有显示内容查看%百分比
//敲回车,会逐行查看后边的内容,到最后会释放光标
> less 文件 //逐行显示文件内容,通过“上、下、左、右”可以查看文档的各部分内容
//允许向前查看,没有百分比显示
//通过"q"键释放光标
> head -n 文件 //查看文件前n行内容
> tail -n 文件 //查看文件尾部n行内容
> wc 文件 //计算文件内容行数、段落
16. 创建新文件
> touch 文件名 //创建文件
17. 给文件添加内容
> echo 内容 > 文件 //把指定内容输入到“文件”里边
> echo 内容 >> 文件 //把内容追加到文件里边
18. 重定向内容到一个文件
> cat 文件1 > 文件2 //把文件1的内容重定向到文件2里边,文件2没有则会自动创建
> cat 文件1 >> 文件2 //追加重定向
19.增加用户 /etc/passwd存放系统用户信息(组编号、家目录)
> useradd 用户名
> useradd -g 编号 用户名 //增加用户的同时设置“组编号”
> useradd -d 目录名 用户名 //增加用户同时设置“家目录”,目录没有会自动创建
> useradd -g 编号 -d 家目录 用户名 //同时设置组编号和家目录地址
> useradd -g 组编号 用户 //常用操作
20. 创建组 (可以设置组本身编号)
> groupadd 组名 //常用操作
> groupadd -g 编号 组名 //可以设置组编号,下一个组的编号要从最大的自增
21. 修改用户信息(组编号、家目录地址、用户名)
> usermod -g 组编号 用户名 //修改用户的组编号
> usermod -d 家目录 用户名 //修改用户的家目录,passwd文件有修改,实际并没有这个目录(手动创建)
> usermod -u 编号 用户名 //修改用户本身的编号
> usermod -l 新名字 旧用户名 //修改用户的名字
22. 修改组 (组编号、组名)
> groupmod -g 组编号 组名 //修改组编号
> groupmod -n 新组名 旧组名 //修改组名字
23. 删除用户(用户信息、家目录地址)
> userdel 用户
> userdel -r 用户 //删除用户同时,其“家目录”地址也会被删除
24. 删除组
> groupdel 组名 //一个组下边有具体用户,该组不允许删除
6.添加组成员
使用gpasswd命令向指定组添加成员用户:
gpasswd-a user group_name
此操作由组管理员进行。(usermod也可以;)
7.删除组成员
使用gpasswd命令从指定组中删除成员用户:
gpasswd-d user group_name
25. 查看一个指令在使用的时候有何种参数可以设置
> useradd --help 命令 --help
26. 给一个用户设置密码(可以让其登录系统)
> passwd 用户名 //密码根据提示输入两遍
27. 查看命令具体参数设置
> man 命令 //前后反复查看命令的使用参数
28. 给文件进行权限设置[相对方式]
> chmod u+x 文件
> chmod g+x 文件 //给同组用户设置执行权限
> chmod o+x 文件 //给其他组用户设置执行权限
> chmod o+w,o+x 文件 //同时给文件设置可写、可执行全选
> chmod u-r 文件 //取消主人的可读权限
> chmod g-w,g-x 文件 //取消同组用户写、执行权限
> chmod o-r,o-x 文件 //取消其他组用户读、执行权限
> chmod g+rx,o+wx 文件 //给文件同组用户设置“读、执行”权限,其他组用户有“写、执行权限”
> chmod u-rwx,g-rw //取消具体用户的权限
29. 数字[绝对方式]设置文件权限
读、写、可执行
二进制代码表示计算机的信息
1-------------1
10-------------2
100-------------4
例如:读:1 写:2 执行3
如果文件权限是读写执行都有就是数字6
如果文件只有读的权限就是数字1
3 不知道是“读写” 还是 “执行权限”,歧义产生
正确的用法是:读4 写2 执行1
1:执行
2:写
3:写、执行
4:读
5:读、执行
6:读、写
7:读、写、执行
> chmod 777 文件 //主人、同组用户、其他组用户权限是满的
> chmod 001 文件 //主人、同组用户都没有权限,其他组用户有可执行权限
ppink.txt 主人有写、执行 同组用户有读 其他组用户有读、执行
> chmod 345 ppink.txt
30. 给目录递归设置权限
> chmod 755 目录 -R //-R参数可以递归目录进行权限设置
31. 文件权限使用
-w- 文件只有可写权限[不可以看到原内容,可以写,覆盖写,强行保存]
r-- 文件只有可读权限[可以看到原内容,可以写,不会覆盖,强行保存]
--x 文件有可执行权限[不可以看到原内容,可以写,覆盖写,强行保存]
32. 目录权限
r-- 目录有可读权限[可以阅读里边的文件,不允许进入]
--x 目录有执行权限[不能阅读,不允许写,允许进入目录]
-w- 目录有些权限[不能阅读,不能增加或减少文件,不能进入目录]
rw- 有读、写权限[可以阅读,不能进入目录]
rwx 读、写、可执行[可以阅读,可以增加减少文件、可以进入]
一个目录如何进行写操作:给目录增加文件或减少文件就是写
33. 同组用户对文件权限操作
r-- 操作只读文件[可以阅读,可以写,强行保存,文件的主人和组已经更改]
-w- 写权限 [不能读,可以强行覆盖写,文件的主人和组有更改]
--x 是否可以进入目录
[一个目录有可执行权限,说明用户可以切换进该目录]
34. 文件或目录的各种权限对超级管理员root没有影响
35. 在指定文件里边查找我们l 需要的内容
> grep 内容 文件
36. 查看“任务管理器”
> top
37. 查看内存信息
> free -m //以M兆为单位显示内存大小使用情况
38. 查看文件或目录占用大小的情况
> du -sh 目标 //统计目标文件及目录大小
39. 文件查找
find 目录 选项 选项值
> find ./ -name abc.txt //在当前目录查找名字为abc.txt的这个文件
> find / -name xxx //在根目录查找文件
> find ./ -size 大小 //根据文件的大小来查找
单位:
10 512字节默认
100c 1字节单位
100k 1024字节单位
> find ./ -size +100c //查找文件大小大于100字节的
> find ./ -size -100c //查找大小小于100字节的文件
> find ./ -size 4 //查找大小等于2048字节的文件
> find ./ -size 2k //查找大小等于2048字节的文件
> find ./ -maxdepth 1 //查找文件目录最深是2层
> find ./ -mindepth 1 //查找文件通过最浅层次进行查找
> find ./ -type f //通过类型查找,查找文件类型
> find ./ -type d //通过类型查找,查找目录类型
> find ./ -user 用户名 //查找文件主人为XX的文件
> find ./ -uid 用户编号 //查找文件主人编号为XX的文件
> find ./ -nouser //查找没有主人的文件
文件创建的时候,是某个用户创建的
有的一些文件创建好后,被用户发布到网络上边
我们把网络的文件下载本地,放到我们自己的系统里边
创建这个文件的用户,在我自己的系统里边并没有
例如,创建这个文件的用户编号是710(用户名:runfa)
> find ./ -perm 权限764 //根据文件的权限进行查找
> find ./ -name ‘bao*‘ //进行模糊查找,名字前缀是bao的文件
2.
locate命令
locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库(/var/lib/locate/locate.db),这个数据库由每天的例行工作(crontab)程序来更新。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。
即先运行:updatedb手动更新数据库
例如:查找相关字issue
$ locate issue
/etc/issue
/etc/issue.net
/usr/man/man5/issue.5
/usr/man/man5/issue.net.5
假如我想要在系统中查找一个名为 .html 的文件,那么可以这样执行命令:locate .html
40. 设置软连接
> ln -s 源文件 链接文件
> ln -s /home/shuhua/shanghai/passwd /var/passwd
41. 查看文件索引号码
> ls -li
42. 制作任务调度指令
> crontab -e //编辑任务调度指令
> crontab -l //查看任务调度指令设置情况
在17:38来执行具体任务指令
分钟 小时 日期 月份 星期 具体命令
38 17 * * * /home/shuhua/shanghai/newout.sh
每2个30执行一次 分钟必须定义1个数值
分钟 小时 日期 月份 星期 具体命令
30 */2 * * * /home/shuhua/shanghai/newout.sh
每2两分钟执行一次
分钟 小时 日期 月份 星期 具体命令
*/2 * * * * /home/shuhua/shanghai/newout.sh
0代表周日
43. 设置系统时间
> date -s "2013-08-13 17:39:40";
> date //查看系统时间
> date +%Y%m%d 20130813
44. 给文件设置主人
> change owner
> chown 主人 文件
45. 给文件设置组
> change group
> chgrp 组 文件
> chown .组 文件
46. 同时给文件设置主人和组
> chown 主人.组 文件
> chown 主人.组 目录 -R //递归给目录设置主人和组的信息,二级目录和三级目录等等都会设置
47. 实现设备挂载、卸载
> mount /dev/cdrom /home/shuhua/rom //把光驱挂载到rom的目录下边
> mount /dev/hda1 /home/shuhua/upan //挂载u盘
> mount /dev/sda3 /home/shuhua/pan3 //挂载硬盘
> umount 设备 或者 挂载点
> umount /dev/cdrom
> umount /home/shuhua/rom
48. rpm指令安装软件
> rpm -ivh 软件文件名(vsftpd-2.0.5-16.el5_4.1.i386.rpm) //安装软件
> rpm -e 软件名(vsftpd) //卸载软件
> rpm -q 软件名 //query检查是否安装该软件
> rpm -qa //查看系统全部安装软件情况
> rpm -qa | grep ftp //在全部安装软件里边,通过模糊方式查找是否有ftp这个软件
> rpm -u 文件名 //对软件升级
49. 让vsftpd软件运行
> service vsftpd start
50. 服务器重新启动
> reboot 重新启动
> shutdown 关机
> poweroff 关机
51 df(lh) 已经挂载的分区df
df -hT磁盘使用情况
52 打包压缩
a) tar -cf 包名 要打包的文件列表 打包
b) tar -xf 包名 解包
c) -c 打包 f 指定包名 z 打包成gz格式的
d) -x 解包 f 指定包名 v 显示详细信息
e) 打包压缩:tar -zcf 包名.tar.gz 要打包压缩的文件列表
f) 打包压缩:tar -jcf 包名.tar.bz2 要打包压缩的文件列表
g) 解压缩:tar -jxf 包名.tar.bz2
h) 解压缩:tar - zxf 包名.tar.gz
tar -zxf 包名.tar.gz -C 解压目录 解压到指定目录
53 date 查看系统日期时间
设置系统时间:
例如:将系统日期设定成2009年11月3日的命令
命令 : date -s 11/03/2009
将系统时间设定成下午5点55分55秒的命令
命令 : date -s 17:55:55
54.
20) 设置开机是否自动运行
a) chkconfig --level "name" 查看程序是否启动
b) 设置某个程序的启动级别 chkconfig --level 3 httpd off/on 级别为3时启动或关闭
21) chkconfig --add 【name】添加系统启动
22) chkconfig --del [name]删除
23) chkconfig --list httpd 查看启动了某些 程序
55
Linux Jobs等前后台运行命令详解,停止后台程序:
Shell支持作用控制,有以下命令:
1. command & 让进程在后台运行
ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
2. jobs 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来,再Ctrl+c即可终止该程序.
4. bg %n 将一个在后台暂停的命令,变成继续执行
PS:”n”为jobs -l查看到的进程编号.
56
a) Ps aux 查看进程
b) Ps aux | grep httpd 查看单个进程
e) Kill 进程号 结束进程
f) Kill -9 立即执行结束进程
g) Netstat -tnl 查看端口号
h) Netstat -tnl | grep 3306
56 service iptables save 把防火墙规则保存至/etc/iptables文件中
service iptables start/stop/restart
例子:
1.设置默认规则(当规则列表中所有规则不匹配时使用默认规则)
//默认进入接收或者丢弃
iptables -P INPUT ACCEPT/DROP
2. -A 添加一条规则 -I 在指定条数前插入一条规则 如省略指定条数,则插入在第一条 D 删除指定条数 -L 查看防火墙规则 -F清空所有规则
iptables -A|-I|-D INPUT|OUTPUT|FORWARD -p 协议 -s 原地址 --sport 原端口号 -d 目标地址 --dport 目标端口 -j 动作(ACCEPT|DROP)
3 iptables -A INPUT -p tcp --dport 80 -J ACCEPT
57 zip unzip
zip 参数 压缩文件名路径.zip 要压缩的文件
zip -r 压缩文件名路径.zip 要压缩的的目录
zip -r /wang.zip wang 对王目录进行压缩并压缩到根目录
unzip fantg.zip -d ./wang 把fantg.zip文件压缩到根目录下王目录
59
.yum命令工具使用举例
yum update 升级系统
yum install ~ 安装指定软件包
yum update ~ 升级指定软件包
yum remove ~ 卸载指定软件
1.使用YUM查找软件包 命令:yum search ~
2.列出所有可安装的软件包 命令:yum list
3列出所有可更新的软件包 命令:yum list updates
4.列出所有已安装的软件包 命令:yum list installed
60
源码安装
./configure 配置
make 编译 make clean 清除编译文件 make clean && make && make install
make install 编译安装
原文地址:http://dabaobei.blog.51cto.com/9784564/1638785