linux基础命令:
命令格式:命令 -选项 参数
1)关机命令:
shutdown
# -h 关机
# -r 重启
# -c 取消前一个关机命令
# -now 立即关机
halt
poweroff
init 0
2)重启命令:
reboot
init 6
3)文件处理命令:
mkdir 目录
# 功能:(make directoriy)创建目录
# -p 父目录不存在的情况下先生成父目录
touch
# 功能:创建空文件
rm fileName
# 功能:删除文件
# -r(recursive) 同时删除该目录下的所有文件
# -f(force) 强制删除文件或目录
rmdir
# 功能:删除空目录
ln -s xxx/真实目录名称 xx/软链接名称
# 给指定目录添加软链接:若软连接名称为空,则软链接的名称默认与真实目录的名称一样。
mv 原文件 目标目录
# 功能:移动文件、文件改名
cat fileName
# 功能:(catenate)显示文件的内容
# -n 显示行号
cat file1 >> file2
# 把file1的内容输出追加到file2的末尾
tac fileName
# 功能:从最后一行开始显示文件的内容
more fileName
# 功能:分页显示文件的内容
less fileName
# 功能:分页显示文件的内容(可向上翻页)
wc fileName
#功能:(word count)统计文本文件的行数、字数、字符数
# -l 统计行数
# -c 统计字节数
# -m 统计字符数,不能与-c同时使用
# -w 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串。
rz
# 运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
# 说明:rz、sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具
# 注意:rz、sz需要终端支持(XShell、SecureCRT),如果是在虚拟机中安装的linux系统上直接使用rz、sz则会出现一行乱码,并且无法输入指令,超时后即可恢复到正常情况。
# 安装命令:yum install lrzsz
eg:rz 文件名
注意:如果文件名中包含空格,则使用反斜杠\转义。eg: 中国 的伟大.txt ===> rz 中国\ 的伟大.txt
sz fileName
# 将指定的文件保存到本地机器
4)文件搜索命令
find [搜索范围] [匹配条件]
举例:find /home/jxn -name man 从指定目录开始搜索名字为man的文件或目录
grep [指定字串] fileName
# 功能:在指定的文件中查找包含特定字符串的文本行
# -i 不区分大小写
# -v 查询不包含特定字符串的文本行(反向查找)
# -o 查询结果的文本行中只显示指定的字符串(show only the part of a line matching PATTERN),
# 即:结果中每个文本行的内容都是指定的字符串,如果指定的字符串在文件的一行中出现多次,则将其分成多行进行展示。
# --color=auto 搜索出的关键字用颜色显示
eg:
grep -o word catalina.out.xxxx-xx-xx | wc -l
# 查询字符串"word"在catalina.out.xxxx-xx-xx文件中出现的次数。
whereis command
# 功能:搜索命令所在目录及帮助文档路径
which command
# 功能:搜索命令所在目录及别名信息
locate fileName
# 功能:在文件资料库中查找文件
5)系统管理命令
stat
# 功能:显示文件的相关信息,比ls命令显示的更详细
who
# 功能:显示在线登录用户
whoami
# 功能:显示用户自己的身份
hostname
# 功能:显示主机名称
uname
# 功能:显示系统信息
ps
# 功能:显示瞬间的进程状态
# -a 显示所有用户的所有进程(包括其它用户)
# -u 显示启动这个进程的用户和它启动的时间
# -x 显示系统中属于自己的进程
ps -ef
# 显示所有的进程,显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD
ps aux
# 显示所有的进程,显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND
6)文件系统管理命令
mount [-t 文件系统] 设备文件名 挂载点
# 功能:挂载设备
# -t (type)文件系统的类型
# 文件系统:
# ext2、ext3、ext4:linux目前常用的文件系统
# msdos、MS-DOS的fat(fat16)
# vfat、U盘及windows98常用的fat32
# nfs:网络文件系统
# iso9660:CD-ROM光盘标准文件系统
df
# 功能:查看文件系统磁盘空间的使用情况
# -a 显示所有的文件系统信息
# -h(human-readable) 使用KB、MB、GB等显示容量
# -k、-m 以KB、MB显示容量
# -T显示文件系统类型
eg:
df -h
# 查看文件系统磁盘空间的使用情况
du 目录或文件名
# 功能:显示指定的文件或目录已使用的磁盘空间的总量
# -h:以人类可读的方式显示,即自动选取合适单位(G、M、K)来显示大小
# -a 显示每个子文件的磁盘占用量
# -s(summarize) 统计总占用量,而不列出子目录和子文件
fdisk -l
# 功能:查看硬盘列表
fdisk /dev/sdb
# 功能:使用fdisk命令分区
#fdisk交互指令说明
# -a 设置可引导标记
# -b 编辑bsd磁盘标签
# -c 设置DOS操作系统兼容标记
# -d 删除一个分区
# -l 显示已知的文件系统类型。82为Linux swap分区,83为Linux分区
# -m 显示帮助菜单
# -n 新建分区
# -o 建立空白DOS分区表
# -p 显示分区列表
# -q 不保存退出
# -s 新建空白SUN磁盘标签
# -t 改变一个分区的系统ID
# -u 改变显示记录单位
# -v 验证分区表
# -w 保存退出
# -x 附加功能(仅专家)
mkfs -t ext4 /dev/sdb1
# 功能:格式化分区
fsch 分区设备文件名
# 功能:修复文件系统
7)网络命令
ping IP地址
# 功能:测试网络连通性
# -c 指定发送次数
ifconfig 网卡名称 IP地址
# 功能:(interface configure)查看和设置网络接口(网卡)信息
netstat
# 功能:显示网络状态信息
# -a 显示所有连接和监听端口
# -t(tcp) 仅显示tcp相关选项
# -u(udp) 仅显示udp相关选项
# -l 监听
# -r 路由
# -n 以数字的形式显示;显示IP地址和端口号
# -p 显示建立相关链接的程序名
setup
# 配置网络
mail userName
# 查看发送电子邮件
write userName
# 给用户发信息,以Ctrl+D保存结束
wall message
# 发广播信息,wall(即write all)
last
# 列出目前与过去登入系统的用户信息
8)用户和组账户管理
概念:linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。
说明:系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
1)用户命令:
useradd 用户名
# 功能:添加用户
# -d 指定用户的家目录
# -u 指定UID
# -g 指定所属的组GID
# -G 指定多个组,用逗号分开
# -p 密码
# -c (comment)用户描述
# -e (expire date)失效时间
passwd 用户名
# 功能:修改密码
usermod 新用户名 旧用户名
# 功能:修改用户
# -l (login)修改登录名
# -L 锁定用户账密码
# -U 解锁用户账号
userdel 用户名
# 功能:删除用户
# -r (recursive)删除用户时连同目录一并删除
2)用户组命令:
groups
# 功能:显示用户所属的组
groupadd 组名
# 功能:添加组
# -g 指定GID
groupmod
# 功能:修改组
# -n (name)修改组名
groupdel
# 功能:删除组
3)用户相关配置文件:
/etc/passwd
说明:保存用户信息的文件
查看:man 5 passwd
格式:account:password:UID:GID:GECOS:directory:shell
用户名: 登陆系统的用户名
密码: 密码位
UID: 用户标识号
GID: 默认组标识号
描述信息: 用户的描述信息
宿主目录: 用户登陆系统的默认目录,默认是在/home/下
命令解析器:用户使用的Shell,默认是bash
/etc/shadow
说明:保存密码的文件
查看:man 5 shadow
格式:
用户名: 登陆系统的用户名
密码: 加密密码
最后一次修改时间: 用户最后一次修改密码距现在的天数,从1970-1-1起
最小时间间隔: 两次修改密码之间的最小天数
最大时间间隔: 密码有效天数
警告时间: 从系统警告到密码失效的天数
账号闲置时间: 账号闲置时间
失效时间: 密码失效的天使
标志: 标志
/etc/group
说明:保存用户组的文件
格式:
组名: 用户所在的组
组密码: 密码位,一般不使用
GID: 组标识号
组内用户列表: 属于该组的用户列表
/etc/gshadow
说明:保存用户组密码的文件
/etc/default/useradd
说明:用户配置文件
4)用户的分类:
超级用户: root(UID=0)
普通用户: UID:500~60000
伪用户: UID:1~499
说明:伪用户不能登录系统,而且没有宿主目录。
9)文件的权限管理:
1)三种基本权限:
r (rean)读权限
w (write)写权限
x (execute)执行权限
- 表示没有任何权限
s 特殊权限
2)文件的属性:
第一部分(权限属性):
第1位: 文件的类型(d表示目录、-表示普通文件、l表示链接文件)
第2-4位: 所属用户权限, 用u表示(user)
第5-7位: 所属组权限, 用g表示(group)
第8-10位: 其他用户权限, 用o表示(other)
第2-10位: 表示所有用户的权限,用a表示(all)
第二部分:文件的链接数
第三部分:文件的拥有者
第四部分:文件所属的组
第五部分:文件的大小
第六部分:文件最后被修改的时间
第七部分:文件的名称
3)命令:
chown 用户名 文件名
# 功能:(change owner)修改文件的拥有者
# -R (recursive)下面的文件和子目录做相同的权限操作
chgrp 组名 文件名
# 功能:(change group)修改文件的所属的组
chmod
# 功能:(change mode)修改文件的权限
# 说明:权限有两种表示方法:
1)用符号表示权限:
chmod 权限的范围(u、g、o、a) 操作符(+、-、=) 文件名
# 权限的范围:u表示所属用户的权限,g表示组权限,o表示其它用户的权限、a表示所有用户的权限
# 操作符:+表示添加,-表示除去,=表示重置
# 举例:chmod u+x jdk-6u45-linux-x64.bin
2)用数字表示权限:
chmod 代表权限的三位数字 文件名
# r用4来表示,w用2来表示,x用1来表示,-用0来表示;即:rwx=7,rw-=6,r-x=5,r--=4,-w-=2,--x=1,---=0
# 举例:chmod 760 test.txt
例子:
chmod u+s nginx
# 为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。
# chmod u+s 就是给某个程序的所有者以suid权限,可以像root用户一样操作
10)RPM软件包管理
概念:
1)RPM即RedHat Package Manager(RedHat软件包管理工具)的缩写。
2)YUM(Yellow dog Updater, Modified),是一个shell前段软件包管理器。
说明:YUM基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
rpm命令:
rpm 包名
# -i 安装。注意:安装的时候需要使用包的全限定名。
# -e (erase)卸载
# -v (verbose)显示详细信息
# -h (hash)显示进度条
# -q (query) 查询该包是否安装
# -qa (query all)查询所有已安装的软件包
# -l (list)use a long listing format
# -R (requires) 查询软件包的依赖性
# -p (package) 查询未安装包信息
# --nodeps 不检测依赖性
eg:查询软件安装的目录:rpm -qal | grep 软件名
yum命令:
yum install gcc-c++
yum update gcc-c++
yum remove gcc-c++
常用工具:
yum -y install wget
更新163 yum源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean all
yum makecache
yum update
11)Linux下的压缩命令:
tar 压缩后的文件名 要压缩的目标文件
# -c (create)建立一个新打包文件
# -C 指定文件解压后存储的目录
# -f file 指出需要打包的文件
# -z 打包同时用gzip压缩(与-x并存时,表示解压xxx.tar.gz)
# -j 打包同时用bzip2压缩(与-x并存时,表示解压xxx.tar.bzip2)
# -x extract(提取) 解包*.tar文件
# -v verbose 以详细模式显示命令执行过程
# -t 查看压缩文件中的内容
# 说明:
1)在参数列表中:c、x、t 仅能存在一个,不可同时存在!
2)一般以.tar后缀名来标示打包后的文件,以.tar.gz或.tgz来标示gzip压缩过的tar文件,以.tar.bz2来标示bzip2压缩过的tar文件。
# 举例:将/home/jxn/familyA目录下的所有文件全部打包为/home/jxn/familyA.tar
1)仅打包,不压缩:tar -cf /home/jxn/familyA.tar /home/jxn/familyA
2)打包后,以gzip压缩:tar -zcf /home/jxn/familyA.tar.gz /home/jxn/familyA
3)打包后,以bzip2压缩:tar -jcf /home/jxn/familyA.tar.bz2 /home/jxn/familyA
4)查看压缩文件中的内容:
tar -tf familyA.tar
tar -tf familyA.tar.gz 或 tar -ztf familyA.tar.gz
tar -tf familyA.tar.bz2 或 tar -jtf familyA.tar.gz
5)解压:
tar -xf familyA.tar
tar -xf familyA.tar.gz 或 tar -zxvf familyA.tar.gz
tar -xf familyA.tar.bz2 或 tar -jxvf familyA.tar.bz2
常用:tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
zip 压缩后的文件名 要压缩的目标文件
unzip 要解压的压缩文件
# -d 文件解压后存储的目录
# eg:unzip -d /data/tempFile test.war 将test.war解压到/data/tempFile目录下
# 使用jdk提供的jar命令也可以解压war包:jar -xvf test.war
gzip 目标文件名
# gzip即:GNU zip
# -c 压缩后将结果输出到标准输出,并保留到原始文件;由于选项c会将压缩结果输出到标准输出,因此需要使用重定向方式保存压缩结果
# -d (decompress)解压。或者:gunzip 要解压的.gz文件名
# -l 显示压缩文件的详细信息:压缩文件的大小、未压缩文件的大小、压缩比等。
# -r 递归地压缩目录中的所有文件:只压缩目录下的所有文件以及其子目录下的所有文件,而目录和子目录并没有压缩。
# -0→9:表示压缩率,1表示最小压缩率,压缩速度最快;默认值是6
# 举例:
1)把/home/jxn目录下的familyA目录下所有文件压缩成.gz文件
tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
gzip familyA.tar 进行压缩
# 说明:gzip不能直接对目录进行压缩,因此必须先打包
2)gzip -c9 test.tar > test.tar.gz
bzip2 目标文件名
# -k 压缩、解压缩完成之后,保留原始文件
# -d (decompress)解压。或者:bunzip2 要解压的.tar.bz2文件名
# 举例:把/home/jxn目录下的familyA目录下所有文件压缩成.bz2文件
tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
bzip2 familyA.tar
# 说明:bzip2不能直接对目录进行压缩,因此必须先打包