1、命令基本格式:
ls -1 详细列表 (ll)
-h 人性化显示文件大小
-a 显示全部文件,包括隐藏文件
-d 查看目录属性
-i 显示iNode
2、文件处理命令
mkdir -p [目录名] (递归)
cd、pwd
touch创建空文件
rmdir 删除空目录
rm -rf 递归删除
cp -r 复制文件
cp -a 复制全部属性
mv 剪切/更名php
硬链接:拥有相同的i节点和存储block块,能够看作是同一个文件 可经过i节点识别 不能跨分区 不能针对目录使用 ln 、、/ 、、 ln -s建立软链接 软连接应该叫做符号连接,就是Windows中的快捷方式,很方便的功能啊。 硬连接是直接复制了源文件的inode,通常不会再占用磁盘block,虽有区别, 不过你也能够看成快捷方式来用。 限制是硬连接不能连接到目录,且只能连接本文件系统中的文件
3、文件搜索命令
文件搜索命令-locate + 文件名 /var/lib/mlocate
updatedb 更新数据库
命令搜索命令 whereis+ 命令
-b 只查找可执行文件
-m 只查找班助文件
whoami
which + 命令
文件搜索 find +搜索范围+条件
find / -name or -user or -nouser install.log
-mtime +10 修改文件
-atime 访问时间
-ctime 文件属性
-size 25k
-inum 262522 按节点
-a and
-o or
-exec ls -lh {} \ 处理搜索结果
*任意内容 ?任意一个字符 [] 任意括号内的字符
字符串搜索命令grep
-v 取反java
4、帮助命令man
man man
man ls
man -f ls
help shell 获取shell内部命令
whereis cd 肯定是不是shell内部命令
help cd 获取内部命令帮助
info
5、压缩与解压命令
zip 压缩文件.zip 文件
zip -r 压缩文件
unzip 解压文件
gzip 源文件 压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件 原文件保留
gzip -r 目录 压缩全部子文件
gzip -d 压缩文件
gunzip 压缩文件
bzip2 源文件 不保留源文件
bzip2 -k 保留源文件node
tar -cvf 打包文件名 源文件 tar -xcf 解压缩.tar文件 tar -zcvf tar -zxvf -c 位置 tar -jcvf tar -jxvf .bz2
六 关机与重启命令
startx 进入图形界面 init 5
shutdown -h now 关机 init 0
shutdown -r now /reboot 重启
reboot 、init 6 重启
runlevel 系统级别python
7、其余命令
mount 查询已挂载的
chmod 755 hello.sh 执行脚本文件
挂载光盘
mkdir /mnt/cdrom
mount -t iso9660 /dev/sr0 /mnt/cdrom
fdisk -l
w
who
last
lastlog
echo $SHELL 查询当前的shellmysql
wq 保存并退出
q! 退出不保存
ls 列出全部文件 dir
ls -1 详细列表
-h 人性化显示文件大小
-a 显示全部文件,包括隐藏文件
-d 查看目录属性
-i 显示iNode
pwd 显示当前在哪一个目录下
mkdir 创建目录
rmdir 删除空目录
cp 复制
touch 创建空文件
mv 移动文件和该文件名
rm 删除文件和目录
rm -rf * 删除全部内容(包括目录和文件)r递归 f强制
in 创建符号链接
in -s 源目录
就是管道命令 把上一个命令的结果交给 的后面的命令处理
grep -n “” 文件 查找关键字 有行数
find / -name aa
ls -l> a.text 列表内容写入a.text文件中(覆盖)
ls -al >> aa.text 列表内容追加到aa.text 的末尾
ls -ahl 查看文件的全部组linux
javac .java编译
java 运行nginx
gcc .cpp 编译 gcc -o my1 .cpp
./a.out 运行 ./my1
目录结构:
root 存放root用户的相关文件
home 存放普通用户的相关文件
bin 存放经常使用命令的目录
sbin 要具备必定权限才可使用的命令
mnt 默认挂载光驱和软驱的目录
etc 存放配置相关文件
var 存放常常变化的文件
boot 存放引导相关的文件
usr 默认安装文件 sql
添加用户
useradd xiaoming
passwd xiaoming 设置、修改密码
userdel 用户名 删除用户
userdel -r 用户名 删除用户及目录shell
解决修改错误配置的方法
在进入grub引导界面时 请输入 e
在选中第二行 输入e
在最后输入1 【但用户级别】
请按b 数据库
如何添加组
groupadd policeman
vi /etc/group 能够更改
cat /etc/group--不能更改 --查看Linux中全部组
useradd -g 组名 用户名 ----建立用户 并指定分配到哪一个组
vi/cat /etc/passwd --查看全部用户信息
-rw-r--r-- 操做权限 含义:
-文件 d目录 l软连接文件
rw-文件全部者对该文件的权限 r 可读 用4表示;w可写 用2表示; x可执行用1表示
r--文件所在组对该文件的权限
r--其余组的用户对该文件的权限
如何修改文件访问权限
chmod
usemod -g 组名 用户名
chown 用户名 文件名 --修改该文件的全部者
chgrp --更改组
mount /mnt/cdrom/ 挂载驱动
umount /mnt/cdrom / 卸载驱动
安装jdk
1把iso挂载
2把安装文件拷贝到 /home 下 cp 文件 /home
3cd /home 切换到home
4安装 ./?????.bin 回车
5vi /etc/profile 环境配置文件 jdk1.5.0_06
6 配置 export JAVA_HOME PATH CLASSPATH
eclipse安装
1把iso挂载
2cp 文件 /home
3tar -zxvf ????.tar.gz 安装
4 ./eclipse 启动eclipse 【进入图形界面】startx 在终端启动eclipse
myeclipse安装
1cp 文件 /home
2tar -zxvf ????.tar.gz 安装
3在home下 ./????.bin
tomcat安装
1cp 文件 /home
2tar -zxvf ????.tar.gz 安装
realplay安装
1 cp 文件 /home
2 cd /home
3./????.bin
4cd realplay
5 ./realplay
测试
linux 安装分区
/boot 分区 100M ext3
swap交换分区 物理内存的2倍 但不要大于256M
/ 根分区 尽量大
LANG=GB2312
镜像文件
EnterpriseWorkbenchInstaller_4.0.3GA-E3.1.bin
RealPlayer10GOID.bin
apache-1.3.28.tar.gz
eclipse_SDK-3.1.1-linux-i586.bin
fcitx-3.1.1.tar.gz
jakarta-tomcat-5.5.9.tar.gz
jakarta-tomcat-5.0.30.tar.gz
jdk-1_5_0_04-linux-i586-rpm.bin
mysql-connector-java-3.1.10-bin.jar
mysql-standard-4.0.26-pc-linux-gnu-i686.tar.gz
samba-2.2.7a-7.9.0.i386.rpm
samba-client-2.2.7a-7.9.0.i386.rpm
samba-commom-2.2.7a-7.9.0.i386.rpm
telnet-0.17-25.i386.rpm
vsftpd-1.1.3-8.i386.rpm
& 地址符 后台方式控制
安装 rpm -ivh httpd-.......
rpm包升级 rpm -Uvh 包全名
卸载 rpm -e 包名
查询是否安装 rpm -q 包名
查询全部 rpm -qa grep 包名 ---相关包
查询详细信息 rpm -qi 包名
查询安装位置 rpm -ql 包名
查询文件属于哪一个包 rpm -qf 系统文件名
依赖信息 rpm -qr 包名
校验 rpm -V
RPM命令管理:RPM包中文件提取
rpm2cpio 包全名 cpio -idv .文件绝对路径 --> 前面的【.】表明当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪一个文件。
注:cpio只知道提取文件,并不知道要从什么地方提取文件,所以咱们一般要使用【】管道符或【<】输入重定向告诉cpio咱们应该从什么设备去取出文件。
使用输入重定向的cpio命令格式:
cpio 选项 < [文件设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程
Yum在线安装:yum源文件
一、yum的优势:将全部软件包放到官方服务器上,当进行yum在线安装时,能够自动解决依赖性问题。(rpm缺点:安装过程当中,rpm包依赖性太强)
二、redhat的yum在线安装须要付费,centOS不须要。
三、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,若是咱们能上网,那它是默认生效的,而其余的都是默认不生效的。
四、[base]:名字能够随便起。
五、name:名字也是随便起。
六、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。能够找一个163或清华大学的yum源更换。
七、enabled:默认最后一个容器不生效,其余容器都生效。
八、gpgcheck:通常都要开启,开启后安装时会验证rpm包是不是官方的,以保证系统安全。
九、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。
[root@CentOS6 ~]# cd /etc/pki/rpm-gpg
[root@CentOS6 rpm-gpg]# ll
Yum在线安装:光盘搭建yum源
有三个步骤:
一、挂载光盘;
二、使网络yum源【CentOS-Base.repo】失效,参加下面截图;
三、使光盘yum源【CentOS-Media.repo】生效,须要编辑【CentOS-Media.repo】文件,修改【baseurl】和【enabled】两项内容,操做以下:
[root@CentOS6 yum.repos.d]# vi CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/ -->将baseurl设置为实际光盘挂载地址(另外两个要注释掉,不然会由于找不到光盘而报错。【#】注释时,必须写在行开头)
gpgcheck=1
enabled=1 -->将enabled设置为1,使这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
编辑后保存退出便可。
注:可使用【yum list】命令列出当前yum源中的全部rpm包:
[root@CentOS6 yum.repos.d]# yum list
......省略部份内容......
经常使用yum命令:
1.查询
yun list --查询全部可用软件包列表
yum search 关键字 --搜索服务器上全部和关键字相关的包
2.安装
yum -y install 包名 (-y 自动回答yes)
yum安装只写包名便可! eg:yum -y install gcc --c语言编译器
Yum在线安装:二、yum软件组管理命令
【yum grouplist】列出当前已安装的和可安装的全部组,例如:
[root@CentOS6 sysconfig]# yum grouplist
...省略部份内容...
Available Groups:
...省略部份内容...
Java 平台
【yum groupinstall 软件组名】用于安装指定的软件组(注意:【软件组名】最好用双引号括起来,不能是中文。PS:经在CentOS6.5上测试,中文也能够正常安装)。
例如,咱们想安装【Java 平台】组,因为组名不能是中文,因此咱们须要知道该组名对应的英文组名才能安装。有两种方式能够得到英文组名:
a、由于本机是英文语系,因此可直接在本机经过【yum grouplist】命令查看组名;
b、如果远程链接的话,一般都是中文语系,须要使用【LANG=en_US】命令临时将当前系统下的语系修改成英文,而后经过【yum grouplist】命令查看组名。例如:
[root@CentOS6 sysconfig]# LANG=en_US
[root@CentOS6 sysconfig]# yum grouplist
Installed Groups:
...省略部份内容...
Available Groups:
...省略部份内容...
Java Platform
经过上面查询,能够知道【Java 平台】对应的英文名是【Java Platform】,下面是执行安装操做的命令:
[root@CentOS6 sysconfig]# yum groupinstall "Java Platform"
...省略部份内容...
Installed:
java-1.6.0-openjdk.i686 1:1.6.0.0-1.66.1.13.0.el6 java-1.7.0-openjdk.i686 1:1.7.0.45-2.4.3.3.el6
...省略部份内容...
Complete!
注:【LANG=zh_CN.utf8】是临时将当前系统下运行的语系改成中文的命令(若须要永久修改,则在【/etc/sysconfig/i18n】文件中修改。
Available Packages
389-ds-base.i686 1.2.11.15-29.el6 c6-media
389-ds-base-devel.i686 1.2.11.15-29.el6 c6-media
389-ds-base-libs.i686 1.2.11.15-29.el6 c6-media
......省略部份内容......
能够从后面的【c6-media】看出这是光盘yum源,由于这是光盘yum源文件【CentOS-Media.repo】中定义的名字。
总用量 16
-rw-r--r--. 1 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-rw-r--r--. 1 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
[root@CentOS6 rpm-gpg]#
Linux内核版本
http:www.kernel.org
Linux发行版本
nginx Apache 阿帕奇(标志为一个羽毛)NGINX(占用资源少,同时提供更高的访问量)
Mysql,php,samba,mongoDB,python(脚本语言),Ruby,sphinx
可经过www.netcraf.com查询网站后台以及后台分布
压缩包 .gz .bz2 .tar.bz2 .tgz
二进制 .rpm
配置文件 .config
6.设备文件名
1)/dev/hda1 IDE硬盘接口
/dev/sda1 SCSI硬盘接口、SATA硬盘接口
hd,sd是设备文件名,a表明第一块硬盘,1表示第一个分区
逻辑分区编号从5开始
2)linux:分区,格式化,起个设备文件名,分配盘符
3)window:分区,格式化,分配盘符
7.挂载
1)把盘符和分区连在一块儿的过程称为挂载,把目录称为挂载点。盘符表示挂载点。
2)必须分区
/ 根分区
swap 交换分区,内存小于4G建议为内存两倍,大于4G则按1:1分配
3)推荐分区
/boot 启动分区,200MB,建议单独分区,若该包含该目录的分区空间不足可能使系统起不来
sudo apt-get update
sudo apt-get install vim 安转vim
cc -v 检查版本
:sp 打开多个vim
ctro+w+ down
:set nu 打开行号
9 + dd 剪切
p 粘贴
gcc -c max.c -o max.o 编译成库函数
echo $? 0--正常
int main(int argc,char* [])
argc 参数个数
char 参数值
stdin 标准输入流:键盘 fscanf(stdin,"%d",&a);
stdout 标准输出流:显示器 fprintf(stdout,"");
stderr 标准错误流 fprintf(stderr,"");
fprintf(stderr,"The value must > 0");在输入有误时提示错误信息!
输出流:
./a.out 1>> a.text 把结果重定向到.txt文件里 不会覆盖原文件内容(日志)
ls /etc >> etc.txt
ls /etc > etc.txt 只有最后的一份 覆盖文件()最新数据
输入流:
./a.out < input.txt 自动读取数据
ls /etc/ grep ab 包含ab的文件 前一个命令的结果作为后一个命令的输入流 ps -e 进程 ps -e grep ssh