一、命令基本格式:
ls -1 详细列表 (ll)
-h 人性化显示文件大小
-a 显示所有文件,包括隐藏文件
-d 查看目录属性
-i 显示iNode
二、文件处理命令
mkdir -p [目录名] (递归)
cd、pwd
touch建立空文件
rmdir 删除空目录
rm -rf 递归删除
cp -r 复制文件
cp -a 复制所有属性
mv 剪切/改名
硬连接:拥有相同的i节点和存储block块,可以看做是同一个文件
可通过i节点识别
不能跨分区
不能针对目录使用
ln 、、/ 、、
ln -s创建软连接
软链接应该叫作符号链接,就是Windows中的快捷方式,很方便的功能啊。
硬链接是直接复制了源文件的inode,一般不会再占用磁盘block,虽有区别,
不过你也可以当作快捷方式来用。 限制是硬链接不能链接到目录,且只能链接本文件系统中的文件
三、文件搜索命令
文件搜索命令-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 取反
四、帮助命令man
man man
man ls
man -f ls
help shell 获取shell内部命令
whereis cd 确定是否是shell内部命令
help cd 获取内部命令帮助
info
五、压缩与解压命令
zip 压缩文件.zip 文件
zip -r 压缩文件
unzip 解压文件
gzip 源文件 压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件 原文件保留
gzip -r 目录 压缩所有子文件
gzip -d 压缩文件
gunzip 压缩文件
bzip2 源文件 不保留源文件
bzip2 -k 保留源文件
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 系统级别
七、其他命令
mount 查询已挂载的
chmod 755 hello.sh 执行脚本文件
挂载光盘
mkdir /mnt/cdrom
mount -t iso9660 /dev/sr0 /mnt/cdrom
fdisk -l
w
who
last
lastlog
echo $SHELL 查询当前的shell
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 查看文件的所有组
javac .java编译
java 运行
gcc .cpp 编译 gcc -o my1 .cpp
./a.out 运行 ./my1
目录结构:
root 存放root用户的相关文件
home 存放普通用户的相关文件
bin 存放常用命令的目录
sbin 要具有一定权限才可以使用的命令
mnt 默认挂载光驱和软驱的目录
etc 存放配置相关文件
var 存放经常变化的文件
boot 存放引导相关的文件
usr 默认安装文件
添加用户
useradd xiaoming
passwd xiaoming 设置、修改密码
userdel 用户名 删除用户
userdel -r 用户名 删除用户及目录
解决修改错误配置的方法
在进入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源文件
1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
2、redhat的yum在线安装需要付费,centOS不需要。
3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
4、[base]:名字可以随便起。
5、name:名字也是随便起。
6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
7、enabled:默认最后一个容器不生效,其他容器都生效。
8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
9、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源
有三个步骤:
1、挂载光盘;
2、使网络yum源【CentOS-Base.repo】失效,参加下面截图;
3、使光盘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在线安装:2、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