Linux常用命令
1.Linux系统文件系统目录结构:
约定俗成:
bin (binaries)存放二进制可执行文件
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
etc (etcetera)存放系统配置文件
usr (unix shared resources)用于存放共享的系统资源
home 存放用户文件的根目录
root 超级用户目录
dev (devices)用于存放设备文件
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点
boot 存放用于系统引导时使用的各种文件
tmp (temporary)用于存放各种临时文件
var (variable)用于存放运行时需要改变数据的文件
2.基本命令
tips:输入命令的时候多用tab键来补全,一方面可以加快速度,另一方面减少错误
1.文件夹操作
ls 查看目录信息
ls -l 等于ll 查看详细信息
ls -a 查看隐藏文件
ls--help
目前所处为:/home/itcats,相对路径和绝对路径ls ../和ls /home
pwd :查看当前所处目录的绝对路径
cd /path 切换目录
mkdir ./path创建文件夹 mkdir -p a/b/c如果创建的父文件夹不存在,自动创建
rmdir 删除文件夹(空的) rm-r a/b(非空)
删除文件:rm name( rm-r 删除文件夹 rm-rf强制删除文件夹或文件 )
2 创建文件
1) touch a.avi 创建一个空文件
2)echo "itcast is good" > itcast.txt 把左边的放到右边的文件去.但会覆盖原来的内容,如果追加内容用>>
3) vi haha.txt 用文本编辑器编辑一个文本并保存.
3.移动文件
1) mv a/wen1.txt b/wen2.txt(移动文件的同时修改了文件名)
4.拷贝文件
1)cp srcFile destFile
5 查看文本文件内容
1) cat log.a.txt 一次性显示整个文件内容
2)more log.a.txt 可以分页(翻页:空格,往回翻:b,退出:q或者ctrl+c)
3)less log.a.txt 不仅可以分页,还可以方便搜索等(翻页:空格,往回翻:↑,往下翻:↓,退出:q或者 Ctrl+C)
4) tail -10 log.a.txt 查看文件的尾部的10行
5)tail -f user.log 实时刷新显示文件的尾部.(对于观察调试程序的运行非常重要)
6)head-20 log.a.txt 查看文件的头部20行
3 文档归档压缩(1:打包--归档;2:压缩)
1.打包/解包
tar-cvf testdir.tar testdir
tar-xvf testdir.tar
参数c:表示创建一个打包文档 v:显示打包进度 f:要打成tar包的名字 x:从一个现存的tar文件中进行解包
2.压缩/解压
gzip testdir.tar
gzip -d testdir.tar.gz
3.归档并压缩/解压
tar -czvf testdir.tar.gz testdir/
tar -xzvf testdir.tar.gz 解压到当前目录下
tar -xzvf testdir.tar.gz -C Downloads/ 解压到指定的Downloads目录下
zip test.txt.zip test.txt
unzip test.txt.zip
4.文件权限管理
1.linux系统中对文件权限的描述机制:3组二进制符号
d | rwx | rwx | r-x |
类型 | 拥有者 | 所属组 | 其他人 |
代表 | u | g | o |
二进制符号 | 111 | 111 | 101 |
十进制数 | 7 | 7 | 5 |
2.修改权限
chmod u+rwx file 为file添加或取消所属用户的权限.
3、通过实例理解rwx三种权限的含义
r 对文件:是否可以读取文件的内容 cat 对文件夹:是否可以列出文件夹内的子节点信息 ls w 对文件:是否可以修改文件的内容 >> vi 对文件夹:是否可以更改文件夹的子节点 x 对文件:是否可当做一个命令或者程序来执行 对文件夹:是否可cd进入
5用户管理
Linux用户分类:
1)超级用户:(root,UID=0)
2)普通用户:(UID在500到60000)
3)伪用户:(UID在1到499)
*系统和服务相关的:bin、daemon、shutdown等
*进程相关的:mail、news、games等
*伪用户不能登陆系统,而且没有宿主目录
5.1添加用户
示例:useradd itcast 必须设置密码才能登陆:passwd:itcast
参数手册: -u 指定组ID(uid) -g 指定所属的组名(gid) -G 指定多个组,用逗号“,”分开(Groups) -c 用户描述(comment) -e 失效时间(expire date)
5.2删除用户
userdel itcast 删除用户时,用户的主目录会保存.
userdel -r itcast : 删除用户的同时主目录也会删除.
5.3修改用户属性
指令:usermod
参数:ai -l 修改用户名 (login)usermod -l 中国 日本(日本改为中国) -g 添加组 usermod -g root itcast(将itcats组改为root组) -d 修改用户的宿主目录 -G添加多个组 usermod -G sys,root tom(给tom添加sys和root组) -L 锁定用户账号密码(Lock)
-U 解锁用户账号(Unlock)
5.4用户组管理
*每个用户至少属于一个用户组 (创建新用户时如果不指定所属组,则会自动创建并归属到一个跟用户名同名的组) *每个用户组可以包含多个用户 *同一个用户组的用户享有该组共有的权限
用户组管理操作命令:
1.创建用户组 groupadd java
2.删除用户组:groupdel java
3.修改用户组属性:groupmod -n newname oldname
4.查看用户所属组:groups itcast
5.5用户及用户组相关配置文件
1、用户配置信息存放位置:
保存用户信息的文件:/etc/passwd 保存密码的文件:/etc/shadow
2、用户组配置信息存放位置:
保存用户组的文件:/etc/group 保存用户组密码的文件:/etc/gshadow(设置组管理员时才有用)
6.网络配置管理
6.1网卡地址配置
检查网络连通性:ping destip
查看ip地址 : ifconfig 查看所有网络设备的地址信息. ifconfig etho 查看指定的etho以太网卡的地址信息
修改ip地址
ifconfig eth0 192.168.2.150 netmask 255.255.255.0
通过setup修改网络配置()
在root权限下执行setup指令可以打开一个带菜单的伪图形界面来修改网络配置
6.2 主机名配置管理
服务器节点通信时使用主机名比ip方便,但是TCP/IP协议最终通过ip寻址,所以要主机----ip 的映射机制:
6.2.1主机名管理
1.查看主机名
在shell提示符的@后有显示,或者用hostname指令打印出主机名,例如:root@localhost,localhost就是主机名
2.修改主机名
vi /etc/sysconfig/network 修改其中的hostname配置项 HOSTNAME=hostnamenew
修改完成后要重启服务器才生效,立即生效(hostname hostnamenew),然后注销重新登录
6.2.2主机名-Ip映射
1.DNS
公网上有现成的DNS服务器,但是不能解析内网的私有域名(主机名),因而需配置公司内部的私有DNS服务器,成本相对较高,实现起来比较麻烦
2.服务器本地映射
服务器网络寻址时默认是现在本地的hostswenjianzhongchazhaoIp映射,通过修改hosts来映射局域网内部的主机名非常方便.
实现方法,将局域网内的每一台主机的“hostnamip”写入每一台主机的hosts文件中: vi /etc/hosts 192.168.2.150 itcast-server-01 192.168.2.151 itcast-server-02 192.168.2.152 itcast-server-03
6.3网络服务启动与停止
列出系统所有应用服务状态: service --status-all
查看指定服务运行状态 : service servicename status
启动服务 : service servicename start 停止服务:service servicename stop
列出所有服务的随机自启配置:chkconfig --list 关闭服务的随机自起:chkconfig servicename off 开启服务的随机自起 :chkconfig servicename on
常用示例:
重启网络服务 service network restart
查看httpd状态:service httpd status 停止httpd : service httpd stop 启动httpd : servicehttpd start
查询防火墙状态:service iptables status 关闭防火墙服务: service iptables stop 关闭防火墙自动启动 :chkconfig iptables off
6.4查看网络连接信息
netstat -natp :显示所有连接和监听端口,tcp相关选项.
netstat -nltp:显示监听单口,tcp相关选项.
netstat -naup:显示所有端口的udp相关选项.
常用参数解释:
-a 显示所有连接和监听端口
-l 只显示监听进程listen
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-p 显示建立相关链接的程序名
7 常用系统管理指令
7.1 进程管理
top 查看实时刷新的系统进程信息 ps-ef查看系统中当前瞬间的进程 ps-ef | grep myshell.sh 查看myshell进程的信息 kill -9 pid 杀掉进程(-9 表示强制杀死)
7.2 磁盘/内存使用信息查看
df-h 查看磁盘空间状态信息
du -sh* 查看指定目录下所有子目录和文件的汇总大小
free 查看内存使用状况
7.3 常用工具指令
7.3.1 vi编辑器 :linux系统中最通用的文本编辑器
vi hello.world进入文本编辑,进去之后处于一般模式,按 i 进入insert模式进行编辑,Esc退出,
然后再按进入底行模式,敲:wq,即可保存并退出,如不想退出.底航命令为q!(保存还可shift+zz)
7.3.2修改系统的默认启动级别
vi /etc/inittab # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: ~ 用level 3 就启动全功能状态的字符界面 在命令行模式下,用startx可以手动启动图形界面(在服务器上操作)
7.4 其他命令
1.grep命令是强大的文本搜索工具,同时也正则表达式搜索文本内容,并把匹配到的打印出来.
参数含义: -r 递归搜索子目录 -l 只列出有匹配行的文件名 -n 列出匹配行的行号 -d skip 不搜索子文件夹
例子:grep -lr 'EOF' ./* 子目录匹配的文件名 grep -ld skip 'EOF' ./*显示指定不要搜索子文件夹
grep '^if' :以if开头的 grep 'if$' :以if结尾的.
service --status-all|grep 'httped' 文本有httped的所有文件状态
2.find 按照属性查找
按照名称查找 find ./-name '*.txt':以后缀名为txt结尾的. 'install.*'以install开头的.
按照类型查找的: find ./-type f
3.wc统计文本信息(行数/词数/字符数)
wc -l/w/c/ lines/words/bytes
4.date 查看修改系统日期和时间
date “+%Y%m%d” 年月日,结果:20201220
date -s “2020-12-20 10:56:00” 更改时间