Linux 命令
1. Linux开关机,用户管理命令
Startx 进入图形界面;
Shutdown –h now 立刻进行关机;
Shutdown –r now 立刻重新启动;
Reboot 立刻重新启动;
Su 切换用户;
Logout 注销;
2. VI编辑器
Vi开发步骤
1. vi hell.sql(文件名)
2. 按 i [进入插入模式]
3. 按 esc [进入命令模式]
4. 输入qw [表示退出保存]
5. 输入 q! [表示退出不保存]
6. 输入 ls/ls –l [查看]
7. gcc -o my1 hello.sql [-o my1 代表输出按my1 名]
w 表示与入的意思,也就将目前的文件内容加以保存,
q 表示退出的意思,也是vi的执行
q! 强制离开,并且不保存文件
wq 将修改过得内容保存,并离开vi
set nu 在文件中每行加入行号
ser noun 取消行号
输入数字若输入数字再按ESC建就可将光标移至改行
/字符串 在很长的文件在 可以利用”/字符串”的命令来查找特定字
例如“tcp” 如果不是所需要的可以按N继续往下查找
?字符串 可以利用”?字符串”的命令查找特定字
例如”:/tcp” 如果不是所需要的可以按N继续往下查找
3.linux根目录
Pwd: 显示当前在哪个目录下;
Root: 存放root下面的相关文件;
Home: 存放普通用户的相关文件;
bin: 存放常用命令的目录;
sbin: 要具有一定权限才可使用命令
mnt: 默认挂载光驱和软驱的目录;
boot: 存放引导相关的文件,系统文件;
etc: 存放配置相关文件,(环境变量,tomcat…);
var: 存放经常变化的文件;
urs: 安装默认文件夹;
4.linunx用户的管理
创建用户需要有root权限;
创建用户:
Useradd 用户名
例Useradd 如:xiaoming(创建用户小明)
设置密码
Passwd 用户名(若不输入用户则表示给当前用户设置密码);
Passwd xiaoming (若不输入用户则表示给当前用户设置密码)
输入密码 如:xiaoming
查看Linux有哪些用户/当前用户
Cat /etc/passwd
Who am I 查看当前是哪个用户
删除用户
userdel 用户名
例userdel xiaoming (删除用户小明)
userdel -r xiaoming(删除用户小明及用户主目录)
5. init 常用命令指定运行级别
init 命令
0 : 关机
1: 单用户
2: 多用户状态没有网络服务
3: 多用户状态有网络服务(一般会使用该状态)
4: 系统未使用保留给用户(空)
5: 图形界面
6: 重启系统
修改运行级别 如重启类
常用运行级别是3和5,要修改默认的运行级别可修改
Vi /etc/inittab 编辑 id:5:initdefault:这一行的数字(需要root权限)
进入系统前按e 选择第二行按e 修改/ 后面输入空格1 进入单用户模式可以修改运行级别和用户密码
6.Linux 常用命令
常用增删改查分页命令
Pwd 显示当前工作目录
Cd 改变目录
Ls 列出文件和目录
Ls –a 显示隐藏文件
Ls –l 显示长列格式 ls -al
mkdir 创建目录
rmdir 删除空目录
touch 建立空文件
cp 复制命令
cp –r dir1 dir2 递归复制命令(复制子目录信息)
mv 移动和改文件夹名
rm 删除目录和文件
rm –rf /* 删除所有内容(包括文件和目录)r递归f强制
ln 建立连接文件使用
ln 建立连接符号
ln –s 源目标
ln –s /etc/inittab inittab [inittab 指向实际文件/tec/inittab]
比如你有个文件file.txt,你可以用ln命令来建立一个指向file.txt的符号链接,
命令是:
ln -s file.txt symlink
之后,运行ls -l就会看到如下结果
lrwxrwxrwx 1 user user 8 2011-06-1617:04 symlink -> file.txt
你以后修改symlibk跟修改file.txt就是一样的了,比如你往symlink里面写helloworld
再打开file.txt就看到里面有helloworld了
当然,如果你删除symlink,不会删除file.txt
more 显示文件内容,带分页
less 显示文件内容带分页
grep 使用
grep 在文本中查询内容
grep –n ‘失败’ 查找和显示在第多少行
grep -C 5 ‘foo’ file 显示file文件中匹配foo字串那行以及上下5行
grep -B 5 ‘foo’ file 显示foo及前5行
grep -A 5 ‘foo’ file 显示foo及后5行
| 管道命令
find 搜索文件及目录
例: find / -namehaha.sql (从根目录开始查找名字是haha.sql的文件或文件夹这样会很慢 )
例: find /home/xiaoming-name haha.sql (从/home/xiaoming目录开始查找名字是haha.sql的文件或文件夹)
Find 搜索一定时间内更改或存取的文件/目录
find /home–amin -10 (搜索10分钟存取文件或目录)
find /home –atime -10(搜索10小时存取文件或目录))
find /home –cmin -10(搜索10分钟更改过的文件或目录)
find /home –ctime +10(搜索10小时前更改过的文件或目录)
find/home –size +10 (搜索文件大小为10KB的文件)
>和>>的使用
grep -C 2 ‘hello’ haha.sql > nimei.sql 将显示的值赋予给nimei.sql(如果文件文件不存在就创建/存在及覆盖)
Cat haha.sql > > nimei.sql将显示的值赋予给nimei.sql(内容在文件的末尾)
从文件中输入信息database_program< database_data(相反的方向)
7.Linux 用户组别,权限
在Linux中添加/删除组
groupadd jingcha(添加组jingcha)
groupdel jingcha(删除组 Jingcha)
在linux 中查看有哪些组
cat /etc/group
有哪些用户 是哪个组
cat /etc/passwd
查看当前用户所在的组groups
groups
创建用户并指定userID和用户组
useradd -g 组名 用户名
useradd -u 567 -g jingcha zhangsan
创建用户并指定用户ID
useradd -u 1111 niye改变用户的组别 需要root权限
userrmod –g 组名 用户名
userrmod –g jiancha wangwu
改变用户登录的初始目录
userrmod –d 组名 用户名
修改文件的所有者
Chown 用户名 文件名
修改文件所在的组
Chgrp 组名 文件名
权限
查看权限 ls -l
(权限分三种: r可读 用4表示, w 可写 用2表示, x 可执行用1表示 )
-rw-r--r--
-|rw-|r--|r—(可以用四个部分来区分)
a|b|c|d
a 文件类型(d是文件夹,-是普通文件)
b 文件的所有者对该文件的权限
c 文件所在组对该文件的权限
d 其他组的用户对该文件的权限
修改权限chmod
需要root 权限或自己用户修改
chmod 777 zhangsan (7表示可读,写,执行4,2,1,三个7表示自己,用户组,其他组用户)
chmod 770 zhangsan(表示自己,所在用户组可读,写,执行)
chomd 755 zhangsan(表示自己可读,写,执,组合其他组别用户可读,写)
改变权限的命令:
Chomd 改变文件或目录的权限
Chomd 755 abc :赋予abc权限rwxr_xr_x
Chomd u=rwx,g=rx,o=rx abc: 同上u=用户权限g=组权限 : gaio=不过户在同组的其他用户权限
Chomd u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
Chomd a+r abc :给所有用户添加读的权限
改变拥有者(chown)和用户组(chgrp)命令
Chown xiaoming abc :改变abc的拥有者为xiaoming
Chgrp root abc :改变abc所属的组为root
Chown root./abc : 改变acb这个目录的所有者是abc
Chown –R root.abc :改变abc这个目录下面所有的文件合目录所有者是root
Linux 挂载
挂载
虚拟机-设置-CD/DVD 选择ISO文件
进入Linux 输入
创建文件夹 mkdis /mnt/cdrom
mount –o loop /mnt/cdrom/ (挂载光驱 默认路径,路径可以随意选择)
umount /mnt/cdrom/ (取消挂载)
windows 和linux 文件共享
虚拟机-设置-选项-共享文件夹
挂载命令
mount [-参数] [设备名称] [挂载点]
特别说明:在挂载光驱时可直接使用mount /mnt/cdrom
卸载命令
umount [设备名称]
查看分区/磁盘
查看磁盘使用情况
df [-参数]
比如 df –l
查看摸个目录实在哪个分区
df [目录全路径]
查看 linux系统分区具体情况
fdisk –l
快捷
有时候忘了一条命令的后半断可以使用tab建进行补全
比如 his 后面忘了按tab建系统会自动补全命令
又比如只知道前面一两个字母hi 按两下tab建系统会显示hi开头的命令
在linux下我们可能想知道最近执行过得命令使用
history 查看历史使用过得命令
history 5 :查看最后使用的无聊命令
history !5 执行历史命令编号为5的命令
history !ls 执行最后一次使用ls开头的命令
网络
Windows下 Ipconfig 显示自己的IP
Ping www.baidu.com/IP可显示百度的IP地址
Tracert www.baidu.com/IP追踪路由查看经过哪些路由
Linux下是查看IP地址
ifconfig
设置IP地址
在Linux中所有的设备都是文件
第一种:
Setup
设置完IP后输入更新IP
/etc/rc.d/init.d/network restart
第二种:
设置临时IP:
Ifconfig eth0 192.168.1.1(设置IP会立即生效 临时生效)
Ifconfig eth0 network x.x.x.x (子网掩码设置)
第三种: (通用最好使用这个方法)
编辑文件修改IP
Vi/etc/sysconfig/network-scripts/ifcfg-eth0
ROOTPROTO=dhcp(如果是=dhcpn自动分配IP地址 则没有下面的设置)
IPADDR= IP地址
NETMASK= 子网掩码
GATEWAY=默认网关
设置完后运行:
/etc/rc.d/init.d/network restart
RPM包
全名:redhat package manager(redhat软件包管理工具)
oPenlinux ,s.u.s.e,turbo linux 等Linux 版本都可以使用rpm包
apache-1.3.23-11.i386.rpm
apache 软件名
1.3.23-11 软件的版本号
I386 是软件所运行的硬件平台
Rpm 文件扩展名
Rmp命令
Rpm –qa 查询所有安装的所有rpm软件包
Rpm –qa |more
Rpm –qa |grep
Rpm –q 软件包名:查询软件包是否安装
Rpm –qi 软件包名:查询软件包信息
Rpm –ql 软件包名: 查询软件包的文件
Rpm –qf 文件全路径名:查询文件所属软件包
Rpm –qp 包文件名: 查询包的信息对这个软件的介绍
安装/删除rpm包
Rpm –i rpm包全路径名 :安装包到当前系统
Rpm –ivh rpm 包全路径名 安装包到当前系统有提示信息
参数说明:
i=insetall 安装
v=verbose 提示
h=hash 进度条
删除rpm包
Rpm –e rpm包的名称 比如 rmp –e jdk
升级rpm包
rpm –U rpm包全路径
crontab制定一个时间执行任务
1设置任务/终止任务/列出当前有哪些任务调度
crontab –e/ crontab –r / crontab -l
2每隔一定时间去执行这个命令 Date> home/xiaoming/mydate1
1) 每天凌晨2:00 执行 date >> /home/xiaoming/mydate2
在crontab –e 中加入
0 2 * * * date >> /home/xiaoming/mydate2
2) 每分钟执行
在crontab –e 中加入
* * * * * date >> /home/xiaoming/mydate2
3 调度多个任务
1) 在crontab –e 中直接写.
2) 可以把所有的任务写入到一个可执行文件(推荐)
例: vi/home/xiaoming/ceshi.sh
输入 date>> /home/xiaoming/mydate2
cp /home/xiaoming/mydate2 /root
需要修改文件为执行
chomd 744 ceshi.sh
在 crontab –e 中加入
* * * * * /home/xiaoming/ceshi.sh(每分钟执行脚本)
进程/线程
进程就是正在执行的程序
线程
轻量级的进程
进程有独立的空间,线程没有
线程不能独立存在,它是由进程创建(fork )
相对讲线程耗费的CPU和内存小于进程
显示进程
Linux中每一个进程都会有一个ID号
PS命令查看目前有哪些进程正在执行已经它的参数
ps –a 显示当前终端的所有进程信息
ps –u 以用户的格式显示进程信息
ps –x 后台显示进程运行的参数
ps –aux 全部查看
kill终止进程
kill 进程号
kill -9 进程号 (强制终止)
killall 进程号结束进程和所有子进程
top –d 10 (10秒刷新)
系统时间设置
date 102316022013.50 MMDDHHMMCCYY.SS 月日时分年秒
查看日历
cal 10 2013 (查看2013年10月日历)
cal 2013 (查看2013年日历)
netstat 网络统计信息命令
netstat –anp |more(显示进程号和端口号) 如Ip不是合法地址可用kill 杀死进程
追踪路由
显示数据包经历过程命令
traceroute 地址 (如果到某个路由没反应就说明该路由出问题了)
windows 下追踪路由 tracert
route 查看经过哪些路由(此命令可以直接使用查看自己的路由情况)
linxu 目录结构
/bin普通用户的可执行命令,系统的任何用户都可以执行该目录中的命令/boot 存放linux操作系统启动时所需使用的文件
/dev 系统中的所有设备文件
/etc 系统中的配置文件
/home 普通用户的宿主目录,每个用户在该目录下都有一个与用户名同名的目录
/mnt 中的子目录用于系统中可移动设备的挂载点
/root 超级用户root的宿主目录
/sbin 系统的管理命令,普通用户不能执行他们
/tmp 系统的临时目录
/usr 系统应用程序和相关文件
/vra 系统中进程变化的文件如日志文件和用户邮件
pwd 当前目录
cd .. 相对路径 是从当前目录去访问某个文件或者是文件夹
cd /home/绝对路径 是从根目录去访问某个文件或者是文件夹
shll
通配符 *代表多个字母或数字
?代表一个字母或数字
[]代表一个范围内
alias 别名用法
alias nimei='netstat -n |grep 1521 |wc -l'
linux系统启动过程
BIOS自检
启动GRUB/LILO
运行LINUX内核并检测硬件
运行系统的第一个进程init
init读取系统引导配置文件 /etc/inittab中的信息进行初始化
/etc/rc.d/rc.sysinit 系统初始化脚本
/etc/rc,d/rcX.d[KS]* -根据运行级别X配置服务
终止以K开头的服务
启动以S开头的服务
/etc/rc.d/rc.local 执行本地特色配置
其他特殊服务
压缩文件
zip aa.zip 文件名1 文件名2
zip -r aa.zip 文件路径
解压文件
unzip -ivh aa.zip
gunzip aa.gz
--大师之作 找出每周四周三创建或修改的文件
ls -l --time-style '+%A' | grep -E "Tuesday|Wednesday"
--查看有多少人在登录
[root@orale ~]# w
01:59:41 up 1:47, 2 users, load average: 0.05, 0.01, 0.14 --系统负载 1,5,15分钟内的负载
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 01:56 2:26 0.04s 0.04s -bash
root pts/0 192.168.22.1 00:34 0.00s 0.21s 0.02s w
less /etc/inittab 查看文件的时候可以按jk上下键翻
lang=en 解决中文乱码问题
mkdir -p aaa/bbb/ccc 级联创建目录
rm -rf aaa/bbb/ccc 直接删除目录不会询问
head -n2 /etc/inittab 查看文件只显示前两行
tail -n2 /etc/inittab 查看文件显示后两行
tail -f /etc/inittab 动态查看最后一行
chown –R root.abc :改变abc这个目录下面所有的文件合目录所有者是root
chomd 755 in.tab (表示自己可读,写,执,组合其他组别用户可读,写)
chomd -R 755 in.tab 级联修改权限
cal 2013 (查看2013年日历)
umask 查看创建目录/文件时默认权限
find ./ -name "inittab" 当前目录下按文件名查找
find ./ -type d 查找当前目录下所有目录
find ./ -type f 查找当前目录下所有文件
find ./ -type f -mtime +5 查找5天前创建的文件
groupadd -g 123456 nimei 创建一个组 指定一个组ID
groupdel nimei 删除组
useradd -g
useradd -u 567 -g zuming zhangsan 创建一个用户指定uID 和gid
df -h 显示磁盘使用情况
df -i 查看Inodes 磁盘写入不了的时候查看
du -sj 查看占用的大小
yum list 查看有哪些包可以安装
yum install -y 包名 安装RPM包
yum remove 卸载
ipcs 查看内存
ps -ef 查看进程
awk 'NR==2 {print}' awk.sql --NR==2 把第2行的值打印出来
awk '$2>5' awk.sql ---打印第2区域大于5的值 例: 目前连接数: 5 目前连接数: 3 查询结果就是 目前连接数: 5
awk '$2>5 {print $2}' awk.sql ---第2区域大于5 打印出第2区域的值 例: 目前连接数: 5 查询结果就是 : 5
awk '/^(no|so)/'awk.sql -----打印所有以模式no或so开头的行。
awk -F '[:]' '$2>=1 && $2<2 {print $2 }' awk.sql -- 以冒号分区 并打印出第2区>=1 and 2$<2 的值