前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos基础命令

centos基础命令

作者头像
嘻哈记
发布2020-11-24 10:33:28
4350
发布2020-11-24 10:33:28
举报
文章被收录于专栏:运维学习交流

1.linux机器相互登录

代码语言:javascript
复制
先在服务器上生成公钥和私钥,使用命令:ssh-keygen

[root@linux-01 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3FYV0kj/2uk/L28tqNL/XGuYcwBCrrNDH2SR4SkaDDk root@linux-01
The key's randomart image is:
+---[RSA 2048]----+
|   ..    .o.ooo. |
|   Eo   .+. .+.  |
|    .o .oo. . .  |
|      o..* o   . |
|     .  S + .   .|
|       + o   . o.|
|      . +..  .=.+|
|       o... .=+=+|
|        ...o..*BB|
+----[SHA256]-----+

私钥是:/root/.ssh/id_rsa  公钥是:/root/.ssh/id_rsa.pub

两台服务器直接免密登录是需要把公钥放置到另外一个服务器上,文件位置为:~/.ssh/authorized_keys 

有一个命令可以实现自动copy公钥到对方机器上,命令为:ssh-copy-id  

[root@linux-01 ~]# ssh-copy-id root@192.168.145.130
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.145.130 (192.168.145.130)' can't be established.
ECDSA key fingerprint is SHA256:5GxiNdyl0UuM/kthNV2MtFRMyoZ5myCf7VbrK5Z04Sw.
ECDSA key fingerprint is MD5:f0:8f:2e:df:87:18:60:1f:aa:9d:ee:ba:a8:56:75:d2.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.145.130's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.145.130'"
and check to make sure that only the key(s) you wanted were added.

2.centos各个目录的作用解析

代码语言:javascript
复制
/root/ #用户家目录
/bin/ /usr/bin/ /sbin/ /usr/sbin/ #bin目录下的命令为普通用户的命令,sbin目录下的命令为超级用户的命令
/boot/ #系统启动相关文件
/dev/ #设备文件
/etc/ #系统配置文件
/home/ #用户家目录文件
/lib/ /lib64/ #库文件
/media/ #媒介文件夹 如:U盘
/mnt/ #默认空 挂载U盘 光驱
/opt/ #默认空
/proc/ #进程
/run/ #进程产生的临时文件,重启消失
/srv/ #空 存服务产生的文件
/sys/ #系统内核相关的文件
/tmp/ #临时目录
/usr/ #用户的文件
/var/ #日志

3.基础命令

代码语言:javascript
复制
ls 命令常用选项:
-a 显示所有文件包含隐藏文件
-l 显示文件的详细信息
-h 显示文件的大小,大小带单位
-t 按时间顺序显示文件
-d 只显示文件夹

alias命令
这个命令的作用是别名,我们可以在敲一段很长的命令的时候可以座别名,这样可以方便我们去使用命令

tree命令:树形显示目录和文件
[root@linux-01 ~]# tree /root/
/root/
├── 11.txt
├── 22.txt
└── anaconda-ks.cfg

0 directories, 3 files	

man命令:可以查看命令的帮助文档

cd命令:进入某一个目录

pwd命令;显示当前所在目录

history命令:显示历史使用命令

wc -l 命令:统计文件有多少行

mkdir命令:创建文件夹的命令,如果需要逐级创建需要加选项-p

rmdir命令:和mkdir命令是相反的操作,就是删除文件夹的命令,如果说文件内还有文件,需要加选项-p
	rm命令:删除命令
-f 强制删除文件
-r 递归删除目录
-v 显示删除过程

cp命令:复制文件的命令,同时也可以改名,复制到目标目录的时候直接修改文件名。
-r  复制多级目录的时候需要添加

mv命令:移动文件的命令,同时也可以改名使用

cat命令:查看文件的命令
-n 查看文件的时候添加行号

tac命令:倒叙查看文件的命令

more命令:文件在一个屏幕无法显示全的时候使用,按空格显示下一屏内容,ctrl+b 上一屏。

less命令:单屏显示,空格往下看,Ctrl+b往上看,支持上下键上下行,Ctrl+b往上看,看完不会自己退出,需要按q退出

head命令:显示文件前几行的内容,配合-n 加数字来使用。

tail命令:可以动态查看文件内容,配合-f来使用,多用于查看日志文件。

chmod命令:给文件以及文件夹添加权限的命令,需要递归的时候需要加-R选项

chown命令:更改文件以及文件夹所属主,所著组的命令。格式:chown -R username:group filename   

umask:用来决定创建目录及文件默认的权限,root用户默认是;0022权限
chattr命令:给文件添加隐藏权限的命令
给文件添加一个i权限,可以实现:不能编辑文件,不能追加,不能改名,不能删除,不能报错,不能touch文件。(touch会更改文件的创建时间)命令是:chattr +i  11.txt  如果不想要这个i权限,可以使用命令chattr -i  11.txt 删除i权限。
给文件添加一个a权限,可以实现:不能删除,不能更改,不能重命名,可以追加文件内容,可以touch。命令是:chattr +a  11.txt  如果不想要这个a权限,可以使用命令chattr -a  11.txt 删除i权限。
给目录添加一个i权限效果是:能在目录下写已经存在的文件,不能删除,不能改名,不能再目录下创建文件目录。
给目录添加一个a权限效果是:可以追加,不能更改,可以在目录下touch,可以更改文件下的内容

lsattr命令:查看文件隐藏权限的命令

ln 命令:硬链接,

ln -s 命令:软连接,相当于windows的快捷方式,使用方法:ln -s 源文件 目标地址文件

which 命令:查找命令所在的位置

whereis 命令:同样是查找命令所在的位置,在事先准备的文件库 到库里面去找 locate 不常用 locate安装:yum install -y mlocate locate用法:locate +文件名/命令 先要去遍历文件 生成数据库 生成数据库命令:updatedb

find命令:
格式 find  目录  参数   
find / -name "文件名"  查找一个文件
find /home/ -type d -name "xxx" ;在home目录下查找文件为xxx的目录,type可以跟以下类型的文件 d:目录 f: 文件 l:软连接 s :sock文件 c:字符串文件 b:块设备
find / -type f -mtime  -1(1天以内) +1(大于1天)
find /etc/ -type f -o -mtime -1 -o -name "*.conf"    -o表示或者
find /root/ -type f -mmin -60 -exec ls -l {} ;   -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。

3.文件属性

代码语言:javascript
复制
我们知道linux上所有的信息都为文件,文件类型有哪些呢,其实在ls -l的时候,第一段的信息就会告诉我们
- 普通文件
d 目录文件
b 快文件,比如硬盘,CD/DVD
l 软连接文件,相当于windows的快捷方式
s socket文件,也就是通信文件
c 字符串设备,比如键盘

4.绝对路径和相对路径

代码语言:javascript
复制
这个很容易理解,绝对路径就是说好比一个 nginx.tar.gz文件 在/usr/local/src/下

用绝对路径表示为: /usr/local/src/nginx.tar.gz

用相对路径表示为:假设在src目录下,表示为: nginx.tar.gz

5.PATH环境变量

代码语言:javascript
复制
linux中有一个系统的环境变量,使用 echo $PATH 即可显示出系统变量的位置

[root@linux-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

我们知道sbin和bin目录下储存的都是用户的命令,我们在使用这些命令的时候都是可以直接使用的,若你的命令不是在这个PATH环境中,那么我们需要把命令添加到PATH环境变量中去,如何添加到环境变量呢?

这就涉及到另外一个文件:/etc/profile,我们需要在这个文件最后添加一行:export PATH=$PATH:/usr/local/nginx/bin/   

假设nginx的bin目录下有命令需要用到,可以这样来设置。

6.特殊权限

代码语言:javascript
复制
set_uid:是保证普通用户临时拥有所有的者身份(临时拥有)必须是二进组,可执行文件比如 /usr/bin/passwd,chmod u+s /usr/bin/ls 注:u为所有者权限 大S是因为缺少X权限,目录能加S权限但是无意义

set_gid:是保证普通用户临时拥有所属组的身份(临时拥有)必须是二进组,可执行文件比如 /usr/bin/ls,可以作用在目录上,当给目录设置了set_gid后再目录下创建文件及目录会跟着父级目录的所属组保持一致

stick_bit:防止别人删除自己的文件(root)除外,/tmp/目录下可以改别人的文件不能删除,/tmp/目录是带stick_bit权限的,删除文件目录是看父级目录的权限

7.时间atime、ctime、mtime

代码语言:javascript
复制
Access time = atime 访问时间:文件中的数据最后被访问的时间
Modify time =mtime 修改时间:文件内容被修改的最后时间
Change time = ctime 变化时间:文件的元数据发生变化。比如权限,所有者等

8.命令行模式快捷键

代码语言:javascript
复制
Ctrl+l 清屏
Ctrl+d 退出终端
Ctrl+c 终端任务
Ctrl+u 删除光标前面的内容
Ctrl+e 光标移到末尾
Ctrl+a 光标移动到开头
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档