很久没写博客,希望以下内容,能够帮助各位同仁!!!
常用快捷键:
Ctrl+a:光标回到命令行首。 (a:ahead)
Ctrl+e:光标回到命令行尾。 (e:end)
Ctrl+b:光标向行首移动一个字符。 (b:backwards)
Ctrl+ f:光标向行尾移动一个字符。 (f:forwards)
Ctrl+w: 删除光标处到行首的字符。
Ctrl+k:删除光标处到行尾的字符。
Ctrl+u:删除整个命令行文本字符。
Ctrl+h:向行首删除一个字符。
Ctrl+d:向行尾删除一个字符。
Ctrl+y::粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本。
Ctrl+p: 上一个使用的历史命令。 (p:previous)
Ctrl+n: 下一个使用的历史命令。(n:next )
Ctrl+r:快速检索历史命令。(r:retrieve)。
Ctrl+t: 交换光标所在字符和其前的字符。
Ctrl+i:相当于Tab键。
Ctrl+o:相当于Ctrl+m.
Ctrl+m:相当Enter键。
查看命令帮助
man [命令名称]
例如:man date
查看当前的linux系统所属的命令解释器是什么
echo $SHELL
查看当前系统的时间
date "+%Y-%m-%d %H:%M:%S" 日期格式精确到时分秒
date "+%j" 今天是一年的第几天
查看当前网络状态及配置
ifconfig
查看当前系统内核版本信息
uname -a
当前系统的内存使用信息
free -m 按单位“兆”统计 -k 按单位“千字节”统计
查看系统所有的登录记录
last -2 linux -d -a 查看linux用户的两条登录记录并且将登陆ip转换成主机名显示在最后一列
查看当前用户的使用的命令记录
history
或者是打开当前用户家目录的记录文件
cat ~/bash_history
工作目录切换
cd - 切换到上一次的工作目录
cd ~ 切换到当前用户的家目录
cd ~user 切换到另一个用户的家目录
pwd 获取当前目录
cd .. 返回到上一层目录
查看当前文件夹文件
ls -al 查看当前文件夹下所有文件的详细信息
ls -dl 当前文件夹的信息
ls -format pass* 获取所有以pass开头的文件信息
查找当前文件夹下的目录的方法
ls -F | grep '/$' 添加条目指示并搜索其中"/"开头的目录,是目录都会以“/”结尾
ls -l|grep "^d" 查询文件详细信息,将以d开头的查询出来,在查看目录详情的时候会在最前面加一个d字母
find . -type d -maxdepth 1 查找当前目录下第一层的所有目录(包括隐藏目录)
快速清空文件方法
echo > filename
echo "" >filename
: > filename
查看文本文件(较短的)
cat -n filename 显示行号
cat -b filename 显示行号,但不包括空行
cat -nA filename 显示行号与不可见的特殊符号
用于查看纯文本文档(较长的),具体选项查看命令的帮助文档
more 只能向后翻页不能往前翻页,less才可以用于向前向后翻页
head 从头开始查看
tail 从尾部开始查看
less 可以前后翻页比more更适用
查看特殊格式的文件
od
转换文本文件中的字符集合cat文本查看命令已经|管道命令符
cat filname.txt | tr [a-z] [A-Z] 将文本中的字符全部转换成大写然后输出
统计指定文本的行数,字节数,字符数
wc -c filename.txt 统计字节数
wc -m filename.txt 统计字符数
wc -l filename.txt 统计文本的行数
显示当前系统的所有用户
cut -d: -f1 /etc/passwd
创建文本文件
touch test.txt
创建文件夹
mkdir directory ---mkdir命令只能创建文件夹
删除文件信息
rm -rf filename 递归删除一切文件包括子文件、目录等
rm -rf aa[12] 删除aa后面含1或2的文件
rmdir filename 仅仅删除空目录,即不含有文件的的目录
修改文件权限
chmod u+x filename 添加当前文件拥有者可执行权限
chmod g+x filename 添加当前文件所属群组可执行权限
chmod o+x filename 添加出文件拥有者以及文件所属群组以外的其他组及用户可执行权限
chmod u-x filename 删除当前文件拥有者可执行权限
修改文件拥有者
chown user1 filename 指定该文件的拥有者为user1
chown user1:group filename 修改该文件的拥有者为user1并将该文件所属组改为group
chown -hR user1 filename 修改该文件(如果是文件夹则包括它的一切子文件夹及文件)的拥有者为user1
比较两个文件的不同
diff fileName1 fileName2
递归复制文件
cp -r filename1 filename2
添加新用户(家目录,uid,指定bash等)
useradd -d /home/user1 -u 123 -s /bin/bash user1
修改用户密码并查看用户密码状态
passwd user 修改密码
passwd user -S 查看用户密码状态
删除用户并删除用户的家目录、邮件目录
userdel -rf user
修改用户信息
usermod -c i'm first user 修改用户备注信息
usermod -dm /home/first_user user 修改用户家目录之前的目录数据也会迁移过去
压缩文件
tar -czvf aa.tar.gz documents/aa
解压文件到某个目录下
tar -xzvf aa.tar.gz -C /directory
搜索某文本中某个字符出现了多少次(在同一行中多个表示一次)
grep -n /sbin/nologin /etc/passwd
搜索含有某个字符的文本并将其追加到另一个文本文件中
grep you hello.txt >> test.txt
管道命令符“|”:将当前输出作为第二个命令的输入
ls -l format pass*|wc -l
重定向(输入输出重定向)命令符(“>>”,“<<”):
输出重定向:
grep -n nologin passwd > /root/Documents/test.txt 将不可登陆的用户信息 输出到test.txt文本中并覆盖
grep -n nologin passwd >> /root/Documents/test.txt 将不可登陆的用户信息 追加到test.txt文本末尾不覆盖
输入重定向:
grep -n you < hello.txt >test.txt 将文本hello.txt作为输入,输入到grep命令中,并将grep搜索的结果重定向输出到test.txt文件中
用户的邮件目录地址:
/var/spool/mail/linux(用户名称)
在当前用户下输入mail命令即可查看收到的邮件
查看邮件内容
cat /var/spool/mail/linux(用户名称)
从标准输入管道读入新的密码
echo "hello123"|passwd --stdin user
转义符号说明:
\(反斜杠):转义后面的单个字符
''(单引号):转义引号内的所有字符
""(双引号):引号内引用的变量依然有效
``(反引号):执行引号内的命令语句
设置命令的别名
alias cp=" cp -i"
取消命令的别名
unalias cp
查看path变量
echo $PATH
设置环境变量,各个变量之间用冒号隔开
PATH=$PATH:/bin
查看系统中的环境变量
env
添加环境变量
env cur=/home/tomcat/bin
删除环境变量
env -u cur
将变量升级为全局变量
export cur ---在超级用户下执行
which:查找某个命令是在哪个路径下例如 which cp 或者是which java
whereis:查找文件的位置 例如
vim编辑器
当文档正在编辑未保存,会生产一个".文件名.swap"的隐藏文件,锁定当前文件,保持文件的一致性,可以删除该文件解除锁定,重新编辑该文件
命令行模式
dd 删除光标所在行
5dd 删除光标所在行开始的五行
yy 复制光标所在行
5yy 复制光标所在行开始的五行
p 在光标处粘贴之前删除或者复制的行
/string 搜索string字符串,从上至下
?String 搜索string 字符串,从下至上
n 显示搜索命令下的下一个字符串
N 显示搜索命令下的上一个字符串
u 撤销之前的操作
末行模式
:w 保存当前修改
:wq 保存并退出
:wq! 强制保存并退出
:q! 强制退出
:q 退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
修改主机名称
vim /etc/hosts --通过vi编辑器修改文件hostst
配置网卡信息
目录:/etc/sysconfig/network-scripts
对于REHEL6 网卡配置文件的前缀为ifcfg-eth 例如ifcfg-eth0
对于REHEL7 网卡配置文件的前缀ifcfg-eno 例如ifcfg-eno16777736
步骤一:vim ifcfg-eth0 利用vim编辑配置文件中的网卡信息
步骤二:重新启动网卡命令 "systemctl restart network"
步骤三:使用"ping ip地址" 检验网卡配置是否生效
yum软件仓库配置文件目录
etc/yum.repos.d/
列出所有的软件仓库
yum repolist all
列出所有软件包
yum list all
显示软件包信息
yum info 软件包名称
软件包的安装,重装,升级,移除
yum install 软件包名称
yum reinstall 软件包名称
yum update 软件包名称
yum remove 软件包名称
系统关键目录或文件
1.系统配置 etc/syscofig
1.1网络配置 etc/sysconfig/network-scripts
2.yum软件仓库配置 etc/yum.repos.d
2.1 yum软件仓库配置文件 *.repo
3.用户密码相关信息文件 etc/passwd
4.系统中所有的shell解释器信息文件 etc/shells
5.用户账号与UID信息 etc/passwd
6.用户密码信息 etc/shadow
7.组名称以及GID etc/group
执行脚本三种方式
1、脚本路径: ./example.sh 通过该种方式执行时 $0的值为文件路径"./example.sh"
2、sh 脚本路径: sh example.sh 通过该种方式执行时 $0的值为文件路径"example.sh"
3、source 脚本路径:source example.sh 通过该种方式执行时 $0的值为文件路径"bin/bash"
注:新建里脚本一般对于当前创建者或文件拥有者没有执行权限,需要为当前用户添加执行权限 chmod u+x example.sh
书写脚本注意事项
1、给变量名赋值时,等号("=")左右两边不能有空格
2、使用表达式计算时,计算符号左右两边必须有空格
3、使用条件表达式时中括号与表达式之间必须有空格
脚本传入参数相关取值说明
$0 表示当前脚本名称,名称因执行方式而异
$1 $2表示当前传入的第一个和第二个参数值,以此类推
$# 表示当前传入的参数数量
$* 依次列出所有传入参数的值
$? 判断上一条命令是否执行成功 0表示执行成功,非0则表示失败
文件判断条件格式:[ -d filename ] 输出结果为0表示成立,其他非0数字皆表示不成立
1、-d 判断是否为目录
2、-f 判断是否为文件
3、-e 判断文件或者目录是否存在
4、-r 判断文件或目录是否可读
5、-w 判断文件或目录是否可写
6、-x 判断文件或目录是否可执行
声明变量并将命令语句的结果复制给变量,最外层语句使用反引号表示执行命令语句,里面用单引号表示转义引号内的所有字符
FreeMan=`free -m|grep cache:|awk print '{print $3}'`
输出变量值
echo $FreeMan
整数值比较格式:[ 数字1 操作符 数字2 ]
1、-gt 判断是否大于
2、-lt 判断是否小于
3、-eq 判断是否等于
4、-ne 判断是否不等于
5、-ge 判断是否大于等于
6、-le 判断是否小于等于
字符串比较格式:[ 字符串1 操作符 字符串2 ]
1、= 表示字符串内容相等
2、!= 表示字符串内容不相等
3、-z 表示字符串为空 [ -z "" ] 返回数字0 表示该字符串为空
条件语句格式:
1、if条件语句:
if 条件1 then
echo "do something"
elif 条件2 then
echo "do another thing"
else
echo "do final thing"
fi
2、for 循环语句:
for item in `cat user.txt`
do
echo "$item is my name"
done
3、while语句:
while 条件
do
echo "do something"
done
4、case语句
文件类型(权限位第一位代表):
-:表示普通文件
d:表示目录文件
l:表示链接文件
b:表示块文件
c:表示字符设备文件
p:管道文件
将用户的输入参数赋值给变量:read -p 提示语句 变量名
read -p "enter you score(0-100):" GRADE
表达式计算(加减乘除,按正则取子字符串,详情见"expr")命令格式:expr a1 + a3 取值$(expr a1 + a2)
有些特殊字符例如* 表示乘 需要用单引号''包含,表示为转义字符
1、加:echo $(expr 100 + 100)
2、乘: echo $(expr 100 '*' 100)
3、取字符串长度:echo $(expr length "rere")
su命令与sudo服务:sudo命令较su命令更有利于系统的安全管理
切换用户
su - 用户名 切换的同时随之切换环境变量
su 用户名 只切换用户不切换环境变量
使用sudo服务使普通用户执行超级用户的cat命令
1、使用visudo命令编辑sudo程序的配置文件(etc/sudoers)
2、在配置文件中添加配置 linux ALL=(root) /bin/cat 表示linux用户可在所有主机上以root身份执行cat命令
3、类似于vi编辑器方法保存并退出
4、切换到linux用户,使用sudo -l 查看当前用户(linux)可以执行哪些sudu执行的命令
5、使用cat命令打开root用户才可以查看的文件例如:cat etc/shadow
用户以任意身份执行任意命令不需要验证:
linux ALL=NOPASSWORD:ALL
用户以root用户身份执行cat和ls命令
linux ALL=(root) /bin/cat /bin/ls
文件访问控制列表
设置指定的用户或组队某个指定的文件的操作权限
例如添加用户linux对应root目录有rwx权限的规则
setfacl -Rm user:linux:rwx /root/
删除规则
setfacl -Rb /root/
查看root文件的ACL规则
getfacl /root/
redhat输入法安装
1、下载输入法的rpm(fcitx-3.0.0-1.i386.rpm)
2、清除本地输入法 rpm -e miniChinput
3、安装 rpm -ivh fcitx-3.0.0-1.i386.rpm
4、进入目录 cd usr/bin
5、执行命令 ln -sf fcitx chinput
redhat9安装插入第二章iso无法挂载问题:选择当前安装系统的虚拟机-》右键-》设置-》编辑cd/dvd的的硬件镜像为第二个iso文件并勾选两个设备状态(已连接,启动时连接)
问题:
1、重新启动网卡命令 "systemctl restart network" 失效
2、yum仓库配置还未实行
3、定时任务还未实践
配置redis服务:
cp /usr/local/redis-2.8.9/utils/redis_init_script /etc/rc.d/init.d/redis
将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis
然后vi /etc/rc.d/init.d/redis
在文档第二行添加
# chkconfig: 2345 80 90
然后注意
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
因为我们的安装目录是/usr/local/redis-2.8.9,所以上面两行改为
EXEC=/usr/local/redis-2.8.9/src/redis-server
CLIEXEC=/usr/local/redis-2.8.9/src/redis-cli
还要注意redis文件的
$EXEC $CONF
这里,在CONF后面增加&
$EXEC $CONF &
“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将占据在前台,占用了主用户界面,造成其它的命令执行不了。
4.可以看到在/etc/init.d/redis文件中,有这么一行:
CONF="/etc/redis/${REDISPORT}.conf"
于是将redis配置文件拷贝到/etc/redis/下
mkdir /etc/redis
cp /usr/local/redis-2.8.9/redis.conf /etc/redis/6379.conf
5.在6379.conf中配置访问密码
找到#requirepass 一行改写成requirepass 新密码(例如123)
6.默认情况下redis只允许本机访问,注释掉bind 127.0.0.1即表示对所有ip皆可访问
5.完成上面的操作之后,即可注册服务:
chkconfig --add redis
设置开机自启动
chkconfig redis on
然后启动redis服务
service redis start
redis就可以服务方式运行。
配置完成redis之后要从外部能够访问需要关闭防火墙以及配置客户端密码或者绑定可访问的用户ip
关闭防火墙:
1.chkconfig /etc/init.d/iptables stop 然后重启linux
2.打开linux中的redis客户端设置密码
开启服务端:redis安装目录/src/redis-cli
设置服务端密码:config set requirepass 123
redis地址已经在使用解决办法:
找到redis进程:ps -aux | grep redis 获取到进程id假设为3038
杀死进程:kill -9 3038
配置,安装与卸载jdk
安装jdk:
1.下载jdk wget http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
2.安装 rpm -ivh jdk-8u121-linux-x64.rpm
3.默认安装在/usr/java/路径下
配置jdk环境变量
1.vi /etc/profile
2.加入以下3行
export JAVA_HOME=/usr/java/jdk-8u121
export CLASSPATH-.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
3.执行命令 java -version 进行验证是否正确安装
卸载jdk:
1.进入到目录 cd /usr/bin
2.为java 和javac两个执行程序在另外一个目录建立同步链接
ln -s -f /usr/java/jdk-8u121/bin/javac
ln -s -f /usr/java/jdk-8u121/jre/bin/java
3.查看jdk-8u121包名:rpm -qa | grep jdk 获取包名jdk-8u121-fcs.i586
4.执行卸载命令 rpm -e jdk-8u121-fcs.i586(刚获取的包名)
tomcat的安装与配置(前提是jdk正确安装并配置):
1.下载tomcat到/usr目录下 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.11/bin/apache-tomcat-8.5.11.tar.gz
2.解压 tar -xvf apache-tomcat-8.5.11
3.启动tomcat服务
方式一:tomcat目录/bin/startup.sh
方式二:修改目录名,在新目录启动服务 mv apache-tomcat-8.5.11 tomcat 启动服务:tomcat/bin/startup.sh
方式三:使用ln同步链接 ln -s /usr/apache-tomcat-8.5.11/ /usr/tomcat 启动服务:tomcat/bin/startup.sh
将tomcat添加为linux服务随开机自启动
1.将tomcat安装目录/bin/Catalina.sh 拷贝到目录/etc/init.d/下并设置名称为tomcat8(改名字即为服务名) 执行命令:cp tomcat安装目录/bin/Catalina.sh /etc/init.d/tomcat8
2.编辑刚刚脚本tomcat8,添加相关配置
添加内容一:在脚本第三行后面插入(服务运行级,启动优先级,停止优先级,必须加上#)#chkconfig: 2345 10 90 (服务描述必须加上#)#description:Tomcat service
添加内容二:在脚本中设置jdk目录以及tomcat目录 JAVA_HOME=/usr/java/jdk1.8.0_111 CATALINA_HOME=/usr/apache-tomcat-8.5.9
3.添加tomcat8脚本含有可执行权限 chmod 755 /etc/init.d/tomcat8
4.执行添加服务命令:chkconfig --add tomcat8
5.设置服务为开机自启动:chkconfig tomcat8 on
6.查看自定服务 chkconfig --list
7.启动服务严重结果: service tomcat8 start
redhat无法连接网络解决办法:
解决方法一:关闭虚拟机->选择虚拟机“编辑”->虚拟网络编辑器->选择vmnet8->点击恢复初始化网络配置->启动虚拟机即可联网
解决方法二:切换到管理员身份 su - root 执行命令 /etc/init.d/networking restart
本文持续更新中,对于此文的不足与错误之处欢迎大家指正,如有问题,请留言!
相关推荐
Redhat6.6/Redhat6.7 docker 离线安装依赖包
Redhat6.7 64位的操作系统镜像,附件为百度云盘的链接,希望可以帮助大家,为Linux喜好者提供帮助。
linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+...
在Redhat LINUX5.0操作系统上安装Oracle 10g、Tomcat5和JDK是一项技术性较强的任务,涉及到多个层面的知识点。首先,我们来详细解析这些关键组件的安装和配置过程。 1. **Oracle 10g安装**: Oracle 10g是一款关系...
Redhat6.0下安装单节点Oracle11gR2、Jdk以及Tomcat文档。
更改redhat6.7的镜像源,直接将它替换掉/etc/yum.repos.d/中的CentOS-Base.repo
### Red Hat Enterprise Linux 5 (RHEL5) 安装 Oracle 10g、JDK 和 Tomcat #### 概述 本篇文章详细介绍如何在 Red Hat Enterprise Linux 5(RHEL5)上安装 Java Development Kit (JDK)、Apache Tomcat 以及 Oracle ...
总的来说,Linux、Oracle、JDK和Tomcat的安装与配置涉及到多个层次的技术知识,理解并熟练掌握这些基础操作是成为一名合格的IT专业人员的必要条件。在实际工作中,这些技能将帮助你更高效地管理和维护服务器环境,...
### 在RedHat Enterprise Linux 5下安装JDK的详尽指南 #### 一、系统环境与准备工作 在开始安装JDK之前,确保你的系统环境符合以下条件: - 操作系统:RedHat Enterprise Linux 5(本文以RedHat AS5.0为例) - ...
本文包含RedHat6.7离线安装cloudera manager5.11.0详细安装步骤及部分问题解决,文中也有CM和CDH知识库mysql5.6的安装步骤。但是没有CDH的引导安装,CDH的引导安装请看《RedHat6.7-CDH-5.11.0离线安装步骤及问题解决...
它允许用户通过网络连接到远程主机并执行命令,就像在本地终端上一样。Telnet 协议本身不加密数据传输,因此它被认为是一种不安全的协议。然而,在某些场景下,尤其是在早期的系统管理和教学环境中,它仍然非常有用...
本文将详细讲解在RedHat Linux 9上安装和配置JDK 1.5以及Tomcat 5.5的过程,帮助读者掌握这两款软件的基础安装和环境配置。 首先,确保已将JDK和Tomcat的安装文件下载到系统中,例如`/root/jdk-tomcat`目录。接下来...
Linux系统是开源操作系统,常用于服务器环境,而Java开发和部署常常依赖于JDK(Java Development Kit)。在本压缩包“Linux安装包(jdk1.7+tomcat5)”中,包含了针对Linux平台的JDK 1.7版本和Tomcat 5服务器,这对于...
在Red Hat Enterprise Linux 5.x (RHEL 5.x)操作系统环境下,安装Java Development Kit (JDK) 1.5、Apache Tomcat 5.0 和 IBM DB2 V9.1是构建一个功能完备的服务器环境的基础步骤。下面将详细阐述这三个组件的安装...
本文主要介绍如何在Red Hat Linux操作系统中安装、配置和管理基本服务,包括安装系统、配置网络、部署JDK、Tomcat以及MySQL数据库,并涉及FTP服务器的搭建。以下是详细步骤: 1. **安装Red Hat Linux**: - 在安装...
在RedHat系统中安装Redis 7.0.0这一高级键值存储系统,需要遵循一系列步骤,确保所有必要的依赖和配置都得到妥善处理。Redis是一个开源的、高性能的内存数据结构存储,它可以用作数据库、缓存和消息代理。下面我们将...
包含Redhat 6.4 6.5/6.6/6.7/7.1的百度盘分享 ,X86_64_DVD