基本linux命令

Posted webcyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本linux命令相关的知识,希望对你有一定的参考价值。

提示:

在学习linux当中只需要知道有哪些命令即可后期使用时参数可以自查文档

 

开机关机


sync 将数据由内存同步到硬盘中。 shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机: shutdown –h
10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。 shutdown –h now 立马关机 shutdown –h 20:25 系统会在今天20:25关机 shutdown –h +10 十分钟后关机 shutdown –r now 系统立马重启 shutdown –r +10 系统十分钟后重启 reboot 就是重启,等同于 shutdown –r now halt 关闭系统,等同于shutdown –h now 和 poweroff

 

 

终端利用ssh登录远程服务器

yum install ssh
service sshd start
ssh -p 50022 my@127.0.0.1
输入密码:
my@127.0.0.1:

-p 后面是端口

my 是服务器用户名

127.0.0.1 是服务器 ip

回车输入密码即可登录

 

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin

第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
  • 第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

    第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

 

Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

 

 

进入 /root 目录(~)

更改文件属性

chgrp [-R] 属组名 文件名 //-R:递归更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

  

 

  • group = rwx = 4+2+1 = 7

那么我们就可以使用 u, g, o 来代表三种身份的权限!

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

 

u/g/o/a  +/-/= /w/x(7)

改变文件权限

chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限

 

 linux文件与目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

本人已经熟悉的命令

ls: 列出目录
cd:切换目录
pwd:显示目前的目录   -P 显示实际目录非连接目录
mkdir:创建一个新的目录 -p递归创建目录  mkdir -p test1/test2/test3/test4  -m添加权限 例子:创建权限为 rwx--x--x 的目录。 mkdir -m 711 test2
rmdir:删除一个空的目录 -p 连同上一级空目录一起删除
cp: 复制文件或目录 rm: 移除文件或目录 mv: 移动文件与目录,或修改文件与目录的名称  参数较多可以用man查看 或者请点击
参数-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用); -r:递归持续复制,用於目录的复制行为;(常用) -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用) -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
  • -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

可以使用 rm 命令来删除非空目录。

 rm [-fir] 文件或目录  -i :互动模式 -r :递归删除   -f : 就是 force 忽略不存在的文件,不会出现警告信息;
 mv [-fiu] source destination    目标文件已经存在,不会询问而直接覆盖; 询问是否覆盖!  若目标文件已经存在,且 source 比较新,才会升级 (update)
 
 ls -al ~

  

nl   显示的时候,顺道输出行号! nl [-bnw] 文件     -b :指定行号指定的方式 -b a     -b t     -n :列出行号表示的方法  -n ln   -n rn   -n rz
more 一页一页的显示文件内容 less 与 more 类似,但是比 more 更好的是,他可以往前翻页! 与more相同 键盘 q         :离开 less 这个程序; 类似vim使用 搜索字符 翻页

head 只看头几行  head -n 20 /etc/man.config
tail 只看尾巴几行 tail [-n number]

 

 

你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

 

 

 

1.Linux 链接概念

Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln 命令产生硬链接。

硬连接

硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接

另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

 

[oracle@Linux]$ touch f1          #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2          #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3       #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li            # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx  1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

 

以上是关于基本linux命令的主要内容,如果未能解决你的问题,请参考以下文章

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程