我的linux学习笔记

来源:互联网 发布:php去除重复数组值 编辑:程序博客网 时间:2024/06/04 19:04

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 解决中文乱码问题

touch  a.txt 创建文件

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 的值 



原创粉丝点击