Linux基础命令
Linux简介
copycopy1.免费开源,支持多用户,多任务,多线程,多CPU
2.性能稳定的多用户网络操作系统
3.文件夹也是文件
Linux基础命令
常用命令
copycopypwd——以绝对路径的形式显示当前位置
copycopyls——列出指定目录下的内容
ls -l:列出每个子文件的属性
ls -a:显示所有内容
ls -l -a:显示所有内容的属性
ls -lhS:显示当前目录下的所有内容,并降序排序
ls -lhS /etc:显示指定目录下的所有内容,并降序排序
copycopycd——切换空间
cd 返回到根目录
cd ..:上一级目录
cd /etc:切换到/etc下
文件操作命令
创建文件
copycopytouch filename
touch file file2
创建目录
copycopymkdir [-p] dirname
mkdir /etc/shx
删除文件或目录
copycopyrm [-rf] filename
rm file1
rm -r dir1//删除目录必须加r
rm -f file1//强制删除
rm -rf ./* //删除当前目录下所有非隐藏文件
移动文件
copycopymv [OPTION] SOURCE DIRECTORY
mv file1 file2 dir1//将file1,file2移动到dir1
mv file1 dir1/file2//将file1移动到dir1并改名为file2
拷贝文件或目录
copycopycp [-r] source directory
cp file1 dir1 //拷贝file1到dir1
cp file1 dir1/file2 //复制file1的内容到dir1并更名为file1
cp -r dir1 dir2 //拷贝目录
创建链接文件
copycopyln [-s] filename newfilename
copycopy软链接文件:文件和目录都可以有软链接
ln -s filename newfilename
copycopy硬链接文件:文件有硬链接,目录不能有硬链接
ln filename newfilename
展示一行文件信息
copycopyecho 字符串|环境变量
echo hello world
echo $HOME
echo "hello Hadoop world!" > a.txt //将字符写入文件,如文件不存在则会创建文件
echo "hello Python world!" > a.txt //覆盖
echo "hello Java world!" >> a.txt //追加字符
文件查看命令
copycopy//查看整个文件内容
cat [-An] filename
-A 显示隐藏字符
-n 显示行号
//分页查看文件内容
more filename
//查看文件头部信息
head [-number] filename //默认看十行
//查看尾部信息
tail [-number] filename //默认看十行
文件查找指令
copycopyfind 搜索位置 条件
find /etc -name 'ha*' //查找名字ha开头的文件或目录
find /etc -name 'Hadoop' //查找名字为Hadoop的文件
find /etc -name 'ha?' //查找名字为ha开头,并长度为3的文件
find /etc -type d/l/f //查找/etc目录下的所有目录/软链接/普通文件
grep [-cniv] '要找的字符串' filename
grep -c hello ./a.txt //hello所在行的数量
grep -n hello ./a.txt //hello所在行信息he行号
grep -i hello ./a.txt //忽略大小写查看hello所在行信息
grep -v hello ./a.txt //查看除了hello所在行的其他行信息
文件解压缩
gzip/gunzip
copycopy作用:将每一个文件进行压缩,一个文件对应一个压缩文件
gzip filename
//只能压缩文件
//源文件消失
//文件后缀.gz
gzip -d filename //解压缩
zip需要安装
copycopy作用:将多个文件或者目录压缩到一个压缩文件中
zip [-r] compressfilename.zip file1 file2
//保留源文件
//需自定义压缩文件名
//压缩目录,必须添加 -r 参数
tar
copycopy作用:打包指令,将多个文件打成一个包
tar -[cxvf] tarfilename.tar 路径
//-c:打包
//-x:拆包
//-v:显示压缩过程
//-f:指定新文件名,必须和新文件名挨着
tar -xzvf filename.tar 路径 //解压缩拆包
切换用户账户
copycopysu [用户名]
su root
SCP指令
copycopyscp [-r] filename 用户名@机器IP:路径
scp a.txt root@master:~/
Linux文件属性解析
copycopy[root@master ~]# ls -l
-rw-r--r-- 1 root root 302 7月22 9:24 file1
【 1 】 【2】 【3】 【4】 【5】 【6】 【7】
解析:
第一列:由10个字符组成。第一个字符表示文件类型,第2~10个字符表示权限
权限由9个字符构成: 前三个字符表示owner拥有的权限
中间三个字符表示group下的所有成员拥有的权限
后三个字符表示other的权限
第二列:文件的硬链接数
第三列:owner的名称
第四列:group的名称
第五列:文件大小
第六列:该文件的最后一次访问时间
第七列:该文件名
修改文件所有者
copycopychown [-R] [newOwner] filename 该指令只能是root用户使用
参数: -R 表示递归修改拥有者
//改变文件file1的所有者为root
chown root file1
//修改目录dir1及其子目录和文件的拥有者为root
chown -R root: dir1
软件管理
二进制安装
特点:简单方便但缺乏灵活性
JDK的安装
-
将jdk的二进制包上传到指定路径下,例如:/usr/java
-
解压
copycopy
tar -xzvf /usr/java/jdk-8u171-linux-x64.tar.gz -C /usr/java
-
配置环境变量
copycopy
#java envirment export JAVA_HOME=/usr/java/jdk1.8.0_171 export CLASSPATH=$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
-
生效环境变量
copycopy
[root@master ~]# source /etc/profile
rpm机制安装
常用指令
copycopyrpm -qa //检查系统内已安装的程序
rpm -qa | grep 程序名 //用于查询指定的程序是否已经安装
rpm -qa //列出所有已经安装在Linux系统下的程序名称
rpm -qi 程序名 //列出该程序的详细信息 ,如版本号,发行时间,安装时间等
rpm -ql 程序名 //列出该程序所有的文档与目录
rpm -qc 程序名 //列出该程序的所有配置文件
rpm -qd 程序名 //列出该程序的所有说明文档 (指与 man 有关的文件)
rpm -qR 程序 //列出与该程序有关的依赖软件所含的文件
copycopyrpm [-ivh] 软件包
-i :安装
-v :安装过程中显示详情
-h :以进度条的形式显示安装进度
-e :卸载
yum安装机制
查询功能
copycopyyum list all //列出yum源仓库里面的所有可用的安装包
yum list installed //列出所有已经安装的安装包
yum list available //列出没有安装的安装包
yum info [软件名] //查看软件的信息
yum search [关键字] //根据关键字查找到相关安装包软件的信息
安装/卸载
copycopyyum [install | update| reinstall | remove ] [软件名]
yum install -y ntp //检查是否有ntp,没有则安装
yum install appname //安装指定的软件
yum reinstall appname //重新安装指定的软件
yum update [appname] //升级指定软件,不指定软件时,升级整个系统的软件
yum remove appname //卸装指定的软件
免密登录
copycopy机器1:
ssh-keygen #回车回车
cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
ssh localhost //判断是否成功
scp id_rsa.pub 机器2:~/.ssh/authorized_keys
时间同步
软件准备
copycopyyum -y install ntp
同步服务器时间
copycopyntpdate -u ntp1.aliyun.com //阿里云服务器
ntpdate -u time.windows.com //微软服务器
集群时间同步
选择一个机器作为时间服务器
时间服务器保证ntpd服务正常运行
copycopy[root@master ~]# systemctl start ntpd
[root@master ~]# systemctl enable ntpd
[root@master ~]# systemctl statua ntpd
时间服务器配置文件
copycopyvi /etc/ntp.conf
添加:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
保存退出
systemctl status ntpd
systemctl start ntpd
其他机器
copycopyntpdate -u master