linux常用命令总结之一
2016-01-18 23:02
676 查看
********************************************************************************************************************************************************
标准输出(0)、标准输出(1)、标准错误(2)
在普通用户的身份下:(su - redhat)
输入命令: find /etc -name passwd
包含正确信息和错误信息
将正确信息和错误信息分开,产生标准输出和标准错误
输入命令:find /etc -name passwd 1> /test/stdout 2> /test/stderr
查看标准输出、标准错误的内容
cat stdout
cat stderr
******************************************************************************************************************************************************************
vim(编辑器)的四种模式:
(1)普通模式:文本的查看
(2)插入模式:(i I a A s S o O)
(3)命令模式:执行相关命令(在普通模式下键入:)
w 保存
q 退出
wq 保存并退出
wq! 保存并退出(对于重要文件)
q! 强制退出 (对于重要文件,之前的)
(4)视图模式
1)对列操作:
(ctrl+v)进入视图模式---->选中操作的列--->'I'(设置添加内容)--->Esc
2)对行操作
(shift+v)进入视图模式--->选中操作的行
y 复制
p 粘贴
d 删除
替换操作:
%s///g 全局操作
例:%s/nologin/hello/g
, s///g 局部操作
例 2,10s/\/nologin/hello/g 2到10行将/nologin 替换成hello
vim的应用: 第三方插件
步骤:
1> (没有ctags命令的)
使用yum仓库安装
yum install ctags -y
2>cd /usr/include
3>ctags -R
4>vim /etc/vimrc
5>进入配置文件之后,添加:
set tags=/usr/include/tags
set tags+=/mnt/linux_kernel/tags
6>以上步骤完成后,则完成配置
vim -t NULL
vim -t task 查看进程
vim -t printf 查看printf函数
ctrl+] 查看结构体中的结构体
ctrl+o 退出
*******************************************************************************************************************************************************************
useradd 创建用户 (只有超级用户才能创建)
id + 用户名 验证用户是否存在
su - redhat 切换用户
root@localhost root:代表用户 localhost:代表主机
hostname 查看主机名
hostnamectl 查看详细信息(包括系统型号、主机名等)
$ 代表普通用户
# 代表超级用户
userdel -r 彻底删除用户(推荐使用)
userdel (不彻底删除)
****************************************************************************************************************************************************************
添加新用户
步骤(本例中添加用户redhat1):
1) vim /etc/passwd
添加内容:redhat1:x:1003:1003:redhat1:/home/redhat1:/bin/bash
2)vim /etc/shadow
添加内容:redhat1:!!:16809:0:99999:7:::
3)vim /etc/group
添加内容:redhat1:x:1003:redhat1
4)在家目录下创建目录
cd /home
mkdir redhat1
ll(显示详细信息) 可看到redhat1的拥有者和所属组都为root
5)修改所属组和拥有者
chown redhat1.redhat1 redhat1/
6)此时用ll查看时redhat1拥有者和所属组都为redhat1
7)使用命令su - redhat1 可切换到用户redhat1下
效果如下所式:
[root@localhost home]# su - redhat1
-bash-4.2$ cd /
-bash-4.2$ ls
bin dev home lib64 mnt proc run srv tags tmp usr
boot etc lib media opt root sbin sys test tools var
-bash-4.2$
8)稍作修改:
cd /home/redhat1
cp /etc/skel/.* ./
9)效果如下:
[root@localhost redhat1]# su - redhat1
Last login: Tue Jan 12 10:51:38 CST 2016 on pts/0
[redhat1@localhost ~]$ ls
[redhat1@localhost ~]$ cd /
[redhat1@localhost /]$ ls
bin dev home lib64 mnt proc run srv tags tmp usr
boot etc lib media opt root sbin sys test tools var
[redhat1@localhost /]$
10)到此为止,新用户redhat1创建完毕
*************************************************************************************************************************************************************
权限下放(用普通用户创建新用户) sudo
visudo 配置信息(如果编辑错误时回报错) === vim /etc/sudoers (如果编辑出错,不会报错)
推荐使用 visudo
步骤:
1)键入命令:visudo
进入到了配置信息--->键入 : ---> 进入命令行 键入 99 ---> 在第99行添加
redhat localhost=(root) /usr/sbin/useradd , /usr/sbin/userdel
2)如果你的普通用户redhat没有密码,首先使用root身份给redhat设置密码
passwd redhat
3)密码设置好以后,切换到reahat普通用户下
sudo su - redhat
4) 使用useradd redhat2 添加新用户
其拥有者和所属组都是redhat2
5)到此为止,用普通用户添加新用户的任务已完成。
******************************************************************************************************************************************************
权限管理:
-rwxrwxrwx
1)第一个字符说明文件的类型:
- 代表普通文件类型
c 代表字符设备
b 代表磁盘设备
d 代表目录
l 代表链接文件
p 代表管道文件
s 代表套接字
后面9个字符分为三组
2)第一组代表拥有者(u), 第二组代表所属组(g)。第三组代表其他组(o)
3)其中每组三个字符分别为:r、w、x
r 可读 ==4
w 可写 ==2
x 可执行 ==1
chown 修改所属用户和组
chmod 修改文件权限
chgrp 修改组
对于目录的权限:
目录的可读可写 指对成员的删除和创建
目录的可执行 指可以看成员
如果想要修改目录和目录内文件的权限,使用-R参数
********************************************************************************************************************************************************
suid 针对可执行文件
对于普通用户redhat来说,使用touch命令创建的文件,其拥有者为redhat,所属组为redhat;
对于超级用户root来说,使用touch命令创建的文件,其拥有者为root,所属组也为root
使用命令chmod u+s touch 使得普通用户用touch创建的文件其拥有者为root,而不是redhat,所属组仍是redhat
1)cd /bin (调转到bin目录下)
2)chmod u+s touch
3)切换到普通用户(su - redhat),使用touch创建的文件其拥有者就属于root,但所属组仍是redhat
*********************************************************************************************************************************************************
sgid 针对目录
对于普通用户redhat,使用mkdir test1 创建目录后,在目录内创建文件,
touch file{1..2},
切换用户到普通用户westos ,在目录test1内创建文件,touch file{3..4}
则用户redhat 既可以删除自己创建的文件file1和file2,也可删除普通用户westos创建的文件file3和file4,对于普通用户westos也是如此,可使用命令chmod g+s test1 来避免这一问题。
切换到root下,使用命令chmod g+s test1
则普通用户redhat,只能删除自己创建的文件file1和file2;
对于普通用户westos,只能删除自己创建的文件file3和file4,增加了安全性。
*****************************************************************************************************************************************************
关于密码的加密方式:
westos:$6$pExetOF0/yap.g9H$Pz9k0MvQbc8kKEcfIsdEKPcmmAebFAtD.4J6m1iT8rej5CPMTULm4pMBYcbyEOkzt7TeKaI1KWGUFCsdd0fu..:16809:0:99999:7:::
其中westos代表用户 6 代表加密方式为 SHA-512 pExetOF0/yap.g9H 称为混淆值(salt)
1 代表加密方式为md5
5 代表加密方式为SHA-256
编写一个c程序产生加密后的字符串
vim crypt_SHA_512.C
程序:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#if 1
6
7 int main(int argc,char **argv)
8 {
9 char *buf =NULL;
10
11 //参数检测
12
13 if(argc != 2){
14 fprintf(stderr,"usage:/crypt passwd. \n");
15 exit(1);
16 }
17 printf("the passwd is :%s\n",argv[1]);
18 //加密
19 buf = crypt((const char *)argv[1],"$6$awervill32");
20 printf("the crypt passwd:%s\n",buf);
21
22 return 0;
23
24 }
25 #endif
编译程序:
gcc crypt_SHA_512.c -o crypt -lcrypt
在命令行输入: ./crypt redhat
执行结果:
the passwd is :redhat
the crypt passwd:$6$awervill32$eAQuuToIp5u/sBRMfVLn6DBJ2MmooRA/m/shfZ.zktRst4QXwhH8vNlK1t8XrTA8uALjp3tO6.hmyTw99s6Sz.
**********************************************************************************************************************************************************
设置文件的初始权限:
umask
目录权限:777-umask
文件权限:777-111-umask (去除可执行权限)
******************************************************************************************************************************************************************************
小文件对磁盘的影响:
1)用dd命令指定一块空间
dd if=/dev/zero of=/test/largefile bs=1M count=100
2)格式化这块空间
mkfs.ext4 /test/largrfile
3)挂载:
mount /test/largefile /tmp
可用df查看
4)编写脚本
vim full_shell.sh
1 #!/bin/bash
2
3 for ((i=1; ;i++))
4 do
//判断上一次创建爱你是否成功,成功继续创建,否则退出
5 if [ $? -eq 0 ]; then
6 echo "this is test file_${i}" > /tmp/large_file${i}
7 else
8 exit 1
9 fi
10 done
11
5)使用命令 du -sh /tmp 查看磁盘大小的消耗
脚本执行之前看到磁盘的大小消耗为13K
6)执行脚本:
使用命令 bash full_bash.sh
或者:chmod +x full_shell.sh
7)执行完shell脚本后,再次使用命令 du -sh /tmp
可看到磁盘消耗为29M
申请的空间大小为100M,对于磁盘来说:分控制信息+存储信息,
由于小文件把控制信息消耗完了,导致存储空间还有剩余却无法存储。
使用命令 df -iT /tmp 可看到inode数量已用完!!!!
ll -i 列出文件inode编号
****************************************************************************************************************************************************
软链接和硬链接
(1)软链接:软链接和原来的文件不是同一个文件(inode不同(ll -i 命令查看))
对原文件的修改会影响链接文件,对链接文件的修改也会影响原文件
如果原文件删除,链接失败,
软链接可以对不存在的文件建立,只是无法使用,如果创建原文件,链接生效。
cd /test
touch file
ln -s /test/file /test/file_l
ll
echo "hello,world" > ./file
cat file
显示结果: hello,world
cat file_l
显示结果:hello,world
echo "hello" > ./file_l
cat file
显示结果: hello
cat file_l
显示结果:hello
2)硬链接:硬链接和原来是同一个文件 ,硬链接只能针对文件,不能针对目录建立
相当于一块空间上有很多指针,只有将其全删除,文件才算删除。
ln /test/file /test/file_l
如果将文件file_l删除,然后重新创建时,链接不会生效!!!!
***************************************************************************************************************************************************
redhat 6 服务管理(串行)
[root@server3 init.d]# /etc/init.d/httpd start
Starting httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd stop
Stopping httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd start
Starting httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd reload
Reloading httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd restart
Stopping httpd: [ ok ]
Starting httpd: [ ok ]
redhat 7 服务管理(并行)
[root@server init.d]# systemctl start|stop|restart|status|enable|disable vsftpd
I*****************************************************************************************************************************************************************
远程访问
(1)root@server .ssh]# ssh root@192.168.3.252
第一次获取对方公钥的内容放在:
/root/.ssh/know_hosts (超级用户)
/home/westos2/.ssh/know_hosts (用自身的普通用户登陆时)
如果ssh速度慢,则需要做解析 /etc/hosts
例:
eg:
192.168.3.243 server3.examole.com
ip+地址
/etc/hosts和dns服务器那个为标准?
[root@server .ssh]# vim /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns
(2)ssh通过公私钥进行访问
[root@server .ssh]# ssh-keygen
默认生成路径在/root/.ssh/目录中:
id_rsa(私钥) id_rsa.pub(公钥)
非对称加密
把公钥发送给指定用户(需要进行密码验证)
[root@server .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.3.155
如果成功,下次ssh登陆对方使用公私钥口令验证,无需通过密码验证
指定验证的私钥(无需输入口令)
[root@server .ssh]# ssh-add /root/.ssh/id_rsa
************************************************************************************************
远程拷贝文件
远程文件拷贝
(1)本地拷贝到远程主机
[root@localhost Desktop]# scp ./full_shell.sh root@192.168.3.252:/root/Desktop/
(2)远程主机的内容拷贝到本地(少见)
[root@server Desktop]# scp -r root@192.168.3.155:/root/Desktop/install ./
*如果是目录,添加-r参数
*************************************************************************************************************************************************************
压缩、解压、聚合
(1)查看压缩包的分布
[root@server test]# vim linux-3.18-rc6.tar.xz
(2)把压缩包解压到制定目录
[root@server test]# tar xvf linux-3.18-rc6.tar.xz -C ./
(3)聚合文件(非压缩)
[root@server tar_file]# tar cvf tar.file.gz ./*
(4)压缩方式:
-j, --bzip2
-z, --gzip
filter the archive through bzip2
filter the archive through gzip
[root@server test_etc]# tar cvfj tar.etc.bz2 ./etc/*
[root@server test_etc]# tar cvfz tar.etc.gz ./etc/*
例如:
cd /test/test1
touch file{1..100}
tar cvfj tar.file.bz2 ./*
tar cvfz tar.file.gz ./file*
tar cvfz tar.file_ll.gz ./file*
结果显示:
-rw-r--r--. 1 root root 61440 Jan 12 20:06 tar.file
-rw-r--r--. 1 root root 456 Jan 12 20:04 tar.file.bz2
-rw-r--r--. 1 root root 896 Jan 12 20:04 tar.file.gz
-rw-r--r--. 1 root root 61440 Jan 12 20:06 tar.file_ll.gz
[root@localhost test1]#
*******************************************************************************************************************************************
unzip 解压
zip压缩
例如:
507 unzip -o -d ./test1 phpMyAdmin-4.5.2-all-languages.zip
508 cd test1
509 ls
510 touch file{1..50}
511 zip -r my_file ./file*
512 ls
513 rm file* -fr
514 ls
515 unzip -o -d ./ my_file.zip
516 ls
517 history
[root@localhost test1]#
使用make命令进行安装
cd /test
1) 解压安装包
tar xvf rarlinux-4.0.1.tar.gz -C ./
2)cd rar
3)make (安装)
4)yum install libstdc++.so.6 -y
rar压缩:
rar file.rar ./file*
rar解压:
解压
[root@server test]# rar -o+ e file.rar
(遇到和解压文件相同的名称,直接覆盖)
**************************************************************************************************************
yum repo 指定路径:
[root@server3 init.d]# cd /etc/yum.repos.d/
文件必须以repo结尾:
[root@server3 yum.repos.d]# vim redhat.repo
[source]
name="install source"
baseurl=ftp://192.168.3.252/pub/rhel7.0
gpgcheck=0
设置完使用yum clean all进行更新:
yum clean all
设置本地镜像:
1)得到镜像文件,必须和自己的操作系统版本一致
将镜像文件放在/tools
mv rhel-server-7.0-x86_64-dvd.iso /tools
2)把iso文件挂载到指定目录下
vim /etc/fstab
添加: /tools/rhel-server-7.0-x86_64-dvd.iso /var/ftp/pub iso9660 defaults,loop 0 0
3)vim /etc/yum.etc.repos.d/yum.repo
编辑:
1 [source]
2 name=localserver
3 baseurl=file:///var/ftp/pub
4 gpgcheck=0
5 enable=1
4)yum clean all
到此为止配置完毕!!!!!!!!
标准输出(0)、标准输出(1)、标准错误(2)
在普通用户的身份下:(su - redhat)
输入命令: find /etc -name passwd
包含正确信息和错误信息
将正确信息和错误信息分开,产生标准输出和标准错误
输入命令:find /etc -name passwd 1> /test/stdout 2> /test/stderr
查看标准输出、标准错误的内容
cat stdout
cat stderr
******************************************************************************************************************************************************************
vim(编辑器)的四种模式:
(1)普通模式:文本的查看
(2)插入模式:(i I a A s S o O)
(3)命令模式:执行相关命令(在普通模式下键入:)
w 保存
q 退出
wq 保存并退出
wq! 保存并退出(对于重要文件)
q! 强制退出 (对于重要文件,之前的)
(4)视图模式
1)对列操作:
(ctrl+v)进入视图模式---->选中操作的列--->'I'(设置添加内容)--->Esc
2)对行操作
(shift+v)进入视图模式--->选中操作的行
y 复制
p 粘贴
d 删除
替换操作:
%s///g 全局操作
例:%s/nologin/hello/g
, s///g 局部操作
例 2,10s/\/nologin/hello/g 2到10行将/nologin 替换成hello
vim的应用: 第三方插件
步骤:
1> (没有ctags命令的)
使用yum仓库安装
yum install ctags -y
2>cd /usr/include
3>ctags -R
4>vim /etc/vimrc
5>进入配置文件之后,添加:
set tags=/usr/include/tags
set tags+=/mnt/linux_kernel/tags
6>以上步骤完成后,则完成配置
vim -t NULL
vim -t task 查看进程
vim -t printf 查看printf函数
ctrl+] 查看结构体中的结构体
ctrl+o 退出
*******************************************************************************************************************************************************************
useradd 创建用户 (只有超级用户才能创建)
id + 用户名 验证用户是否存在
su - redhat 切换用户
root@localhost root:代表用户 localhost:代表主机
hostname 查看主机名
hostnamectl 查看详细信息(包括系统型号、主机名等)
$ 代表普通用户
# 代表超级用户
userdel -r 彻底删除用户(推荐使用)
userdel (不彻底删除)
****************************************************************************************************************************************************************
添加新用户
步骤(本例中添加用户redhat1):
1) vim /etc/passwd
添加内容:redhat1:x:1003:1003:redhat1:/home/redhat1:/bin/bash
2)vim /etc/shadow
添加内容:redhat1:!!:16809:0:99999:7:::
3)vim /etc/group
添加内容:redhat1:x:1003:redhat1
4)在家目录下创建目录
cd /home
mkdir redhat1
ll(显示详细信息) 可看到redhat1的拥有者和所属组都为root
5)修改所属组和拥有者
chown redhat1.redhat1 redhat1/
6)此时用ll查看时redhat1拥有者和所属组都为redhat1
7)使用命令su - redhat1 可切换到用户redhat1下
效果如下所式:
[root@localhost home]# su - redhat1
-bash-4.2$ cd /
-bash-4.2$ ls
bin dev home lib64 mnt proc run srv tags tmp usr
boot etc lib media opt root sbin sys test tools var
-bash-4.2$
8)稍作修改:
cd /home/redhat1
cp /etc/skel/.* ./
9)效果如下:
[root@localhost redhat1]# su - redhat1
Last login: Tue Jan 12 10:51:38 CST 2016 on pts/0
[redhat1@localhost ~]$ ls
[redhat1@localhost ~]$ cd /
[redhat1@localhost /]$ ls
bin dev home lib64 mnt proc run srv tags tmp usr
boot etc lib media opt root sbin sys test tools var
[redhat1@localhost /]$
10)到此为止,新用户redhat1创建完毕
*************************************************************************************************************************************************************
权限下放(用普通用户创建新用户) sudo
visudo 配置信息(如果编辑错误时回报错) === vim /etc/sudoers (如果编辑出错,不会报错)
推荐使用 visudo
步骤:
1)键入命令:visudo
进入到了配置信息--->键入 : ---> 进入命令行 键入 99 ---> 在第99行添加
redhat localhost=(root) /usr/sbin/useradd , /usr/sbin/userdel
2)如果你的普通用户redhat没有密码,首先使用root身份给redhat设置密码
passwd redhat
3)密码设置好以后,切换到reahat普通用户下
sudo su - redhat
4) 使用useradd redhat2 添加新用户
其拥有者和所属组都是redhat2
5)到此为止,用普通用户添加新用户的任务已完成。
******************************************************************************************************************************************************
权限管理:
-rwxrwxrwx
1)第一个字符说明文件的类型:
- 代表普通文件类型
c 代表字符设备
b 代表磁盘设备
d 代表目录
l 代表链接文件
p 代表管道文件
s 代表套接字
后面9个字符分为三组
2)第一组代表拥有者(u), 第二组代表所属组(g)。第三组代表其他组(o)
3)其中每组三个字符分别为:r、w、x
r 可读 ==4
w 可写 ==2
x 可执行 ==1
chown 修改所属用户和组
chmod 修改文件权限
chgrp 修改组
对于目录的权限:
目录的可读可写 指对成员的删除和创建
目录的可执行 指可以看成员
如果想要修改目录和目录内文件的权限,使用-R参数
********************************************************************************************************************************************************
suid 针对可执行文件
对于普通用户redhat来说,使用touch命令创建的文件,其拥有者为redhat,所属组为redhat;
对于超级用户root来说,使用touch命令创建的文件,其拥有者为root,所属组也为root
使用命令chmod u+s touch 使得普通用户用touch创建的文件其拥有者为root,而不是redhat,所属组仍是redhat
1)cd /bin (调转到bin目录下)
2)chmod u+s touch
3)切换到普通用户(su - redhat),使用touch创建的文件其拥有者就属于root,但所属组仍是redhat
*********************************************************************************************************************************************************
sgid 针对目录
对于普通用户redhat,使用mkdir test1 创建目录后,在目录内创建文件,
touch file{1..2},
切换用户到普通用户westos ,在目录test1内创建文件,touch file{3..4}
则用户redhat 既可以删除自己创建的文件file1和file2,也可删除普通用户westos创建的文件file3和file4,对于普通用户westos也是如此,可使用命令chmod g+s test1 来避免这一问题。
切换到root下,使用命令chmod g+s test1
则普通用户redhat,只能删除自己创建的文件file1和file2;
对于普通用户westos,只能删除自己创建的文件file3和file4,增加了安全性。
*****************************************************************************************************************************************************
关于密码的加密方式:
westos:$6$pExetOF0/yap.g9H$Pz9k0MvQbc8kKEcfIsdEKPcmmAebFAtD.4J6m1iT8rej5CPMTULm4pMBYcbyEOkzt7TeKaI1KWGUFCsdd0fu..:16809:0:99999:7:::
其中westos代表用户 6 代表加密方式为 SHA-512 pExetOF0/yap.g9H 称为混淆值(salt)
1 代表加密方式为md5
5 代表加密方式为SHA-256
编写一个c程序产生加密后的字符串
vim crypt_SHA_512.C
程序:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#if 1
6
7 int main(int argc,char **argv)
8 {
9 char *buf =NULL;
10
11 //参数检测
12
13 if(argc != 2){
14 fprintf(stderr,"usage:/crypt passwd. \n");
15 exit(1);
16 }
17 printf("the passwd is :%s\n",argv[1]);
18 //加密
19 buf = crypt((const char *)argv[1],"$6$awervill32");
20 printf("the crypt passwd:%s\n",buf);
21
22 return 0;
23
24 }
25 #endif
编译程序:
gcc crypt_SHA_512.c -o crypt -lcrypt
在命令行输入: ./crypt redhat
执行结果:
the passwd is :redhat
the crypt passwd:$6$awervill32$eAQuuToIp5u/sBRMfVLn6DBJ2MmooRA/m/shfZ.zktRst4QXwhH8vNlK1t8XrTA8uALjp3tO6.hmyTw99s6Sz.
**********************************************************************************************************************************************************
设置文件的初始权限:
umask
目录权限:777-umask
文件权限:777-111-umask (去除可执行权限)
******************************************************************************************************************************************************************************
小文件对磁盘的影响:
1)用dd命令指定一块空间
dd if=/dev/zero of=/test/largefile bs=1M count=100
2)格式化这块空间
mkfs.ext4 /test/largrfile
3)挂载:
mount /test/largefile /tmp
可用df查看
4)编写脚本
vim full_shell.sh
1 #!/bin/bash
2
3 for ((i=1; ;i++))
4 do
//判断上一次创建爱你是否成功,成功继续创建,否则退出
5 if [ $? -eq 0 ]; then
6 echo "this is test file_${i}" > /tmp/large_file${i}
7 else
8 exit 1
9 fi
10 done
11
5)使用命令 du -sh /tmp 查看磁盘大小的消耗
脚本执行之前看到磁盘的大小消耗为13K
6)执行脚本:
使用命令 bash full_bash.sh
或者:chmod +x full_shell.sh
7)执行完shell脚本后,再次使用命令 du -sh /tmp
可看到磁盘消耗为29M
申请的空间大小为100M,对于磁盘来说:分控制信息+存储信息,
由于小文件把控制信息消耗完了,导致存储空间还有剩余却无法存储。
使用命令 df -iT /tmp 可看到inode数量已用完!!!!
ll -i 列出文件inode编号
****************************************************************************************************************************************************
软链接和硬链接
(1)软链接:软链接和原来的文件不是同一个文件(inode不同(ll -i 命令查看))
对原文件的修改会影响链接文件,对链接文件的修改也会影响原文件
如果原文件删除,链接失败,
软链接可以对不存在的文件建立,只是无法使用,如果创建原文件,链接生效。
cd /test
touch file
ln -s /test/file /test/file_l
ll
echo "hello,world" > ./file
cat file
显示结果: hello,world
cat file_l
显示结果:hello,world
echo "hello" > ./file_l
cat file
显示结果: hello
cat file_l
显示结果:hello
2)硬链接:硬链接和原来是同一个文件 ,硬链接只能针对文件,不能针对目录建立
相当于一块空间上有很多指针,只有将其全删除,文件才算删除。
ln /test/file /test/file_l
如果将文件file_l删除,然后重新创建时,链接不会生效!!!!
***************************************************************************************************************************************************
redhat 6 服务管理(串行)
[root@server3 init.d]# /etc/init.d/httpd start
Starting httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd stop
Stopping httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd start
Starting httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd reload
Reloading httpd: [ ok ]
[root@server3 init.d]# /etc/init.d/httpd restart
Stopping httpd: [ ok ]
Starting httpd: [ ok ]
redhat 7 服务管理(并行)
[root@server init.d]# systemctl start|stop|restart|status|enable|disable vsftpd
I*****************************************************************************************************************************************************************
远程访问
(1)root@server .ssh]# ssh root@192.168.3.252
第一次获取对方公钥的内容放在:
/root/.ssh/know_hosts (超级用户)
/home/westos2/.ssh/know_hosts (用自身的普通用户登陆时)
如果ssh速度慢,则需要做解析 /etc/hosts
例:
eg:
192.168.3.243 server3.examole.com
ip+地址
/etc/hosts和dns服务器那个为标准?
[root@server .ssh]# vim /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns
(2)ssh通过公私钥进行访问
[root@server .ssh]# ssh-keygen
默认生成路径在/root/.ssh/目录中:
id_rsa(私钥) id_rsa.pub(公钥)
非对称加密
把公钥发送给指定用户(需要进行密码验证)
[root@server .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.3.155
如果成功,下次ssh登陆对方使用公私钥口令验证,无需通过密码验证
指定验证的私钥(无需输入口令)
[root@server .ssh]# ssh-add /root/.ssh/id_rsa
************************************************************************************************
远程拷贝文件
远程文件拷贝
(1)本地拷贝到远程主机
[root@localhost Desktop]# scp ./full_shell.sh root@192.168.3.252:/root/Desktop/
(2)远程主机的内容拷贝到本地(少见)
[root@server Desktop]# scp -r root@192.168.3.155:/root/Desktop/install ./
*如果是目录,添加-r参数
*************************************************************************************************************************************************************
压缩、解压、聚合
(1)查看压缩包的分布
[root@server test]# vim linux-3.18-rc6.tar.xz
(2)把压缩包解压到制定目录
[root@server test]# tar xvf linux-3.18-rc6.tar.xz -C ./
(3)聚合文件(非压缩)
[root@server tar_file]# tar cvf tar.file.gz ./*
(4)压缩方式:
-j, --bzip2
-z, --gzip
filter the archive through bzip2
filter the archive through gzip
[root@server test_etc]# tar cvfj tar.etc.bz2 ./etc/*
[root@server test_etc]# tar cvfz tar.etc.gz ./etc/*
例如:
cd /test/test1
touch file{1..100}
tar cvfj tar.file.bz2 ./*
tar cvfz tar.file.gz ./file*
tar cvfz tar.file_ll.gz ./file*
结果显示:
-rw-r--r--. 1 root root 61440 Jan 12 20:06 tar.file
-rw-r--r--. 1 root root 456 Jan 12 20:04 tar.file.bz2
-rw-r--r--. 1 root root 896 Jan 12 20:04 tar.file.gz
-rw-r--r--. 1 root root 61440 Jan 12 20:06 tar.file_ll.gz
[root@localhost test1]#
*******************************************************************************************************************************************
unzip 解压
zip压缩
例如:
507 unzip -o -d ./test1 phpMyAdmin-4.5.2-all-languages.zip
508 cd test1
509 ls
510 touch file{1..50}
511 zip -r my_file ./file*
512 ls
513 rm file* -fr
514 ls
515 unzip -o -d ./ my_file.zip
516 ls
517 history
[root@localhost test1]#
使用make命令进行安装
cd /test
1) 解压安装包
tar xvf rarlinux-4.0.1.tar.gz -C ./
2)cd rar
3)make (安装)
4)yum install libstdc++.so.6 -y
rar压缩:
rar file.rar ./file*
rar解压:
解压
[root@server test]# rar -o+ e file.rar
(遇到和解压文件相同的名称,直接覆盖)
**************************************************************************************************************
yum repo 指定路径:
[root@server3 init.d]# cd /etc/yum.repos.d/
文件必须以repo结尾:
[root@server3 yum.repos.d]# vim redhat.repo
[source]
name="install source"
baseurl=ftp://192.168.3.252/pub/rhel7.0
gpgcheck=0
设置完使用yum clean all进行更新:
yum clean all
设置本地镜像:
1)得到镜像文件,必须和自己的操作系统版本一致
将镜像文件放在/tools
mv rhel-server-7.0-x86_64-dvd.iso /tools
2)把iso文件挂载到指定目录下
vim /etc/fstab
添加: /tools/rhel-server-7.0-x86_64-dvd.iso /var/ftp/pub iso9660 defaults,loop 0 0
3)vim /etc/yum.etc.repos.d/yum.repo
编辑:
1 [source]
2 name=localserver
3 baseurl=file:///var/ftp/pub
4 gpgcheck=0
5 enable=1
4)yum clean all
到此为止配置完毕!!!!!!!!
相关文章推荐
- linux&c 进程控制 课后习题
- OSLAB-linux 进程调度
- Linux查看线程的堆栈信息
- Linux(CentOS6.5)系统安装Windows字体
- centos6上RPM方式安装MySQL5.6
- Linux学习之head命令
- linux Zookeeper集群搭建
- centos7安装tftp服务器
- JAVA程序员应该知道的linux命令
- 2016年最佳Linux发行版排行榜
- Linux学习之less命令
- 磁盘和文件系统管理LVM(二)
- Linux config、make、make install
- Android 内核之Android与Linux的关系
- Linux学习之more命令
- CentOS(6.5)安装lsb、查看系统版本信息
- 解决linux下主机名变bogon的问题
- CentOS Linux因别名问题引起的麻烦及解决技巧
- linux学习之路——虚拟机的安装
- linux线程同步(1)-互斥量