Linux初探(一) —— 基本操作

一、Shell:提供用户输入的命令解释器

简单图例.png

一张图就能很明确地表明Shell的作用。

二、Shell下的基本命令操作

  • ls:默认形式显示当前目录下文件列表。
ls.png
  • ls -a:显示所有文件包括隐藏文件
image.png
  • ls -l:显示当前目录下文件属性:大小,权限,日期,符号连接。
image.png

权限->链接个数->用户->用户组->大小->日期->文件

权限详解(以drwxrwxr-x为例):
  • 第一个字符代表是目录,文件或链接文件等
    【d】:目录
    【-】:文件
    【l】:连接文件(linkfile)
    【b】:表示设备文件里面可供存储的接口设备。
    【c】:表示设备文件里面的串行端口设备,例如键盘,鼠标等。

后面则三个为一组,r表示可读,w表示可写,x表示可执行。这里注意,如果没有x的权限,那么前两个自然也是没有的。

  • 第一组:文件所有者的权限
  • 第二组:同用户组的权限
  • 第三组:其他非本用户组的权限。
下面继续介绍ls和其他指令的功能:
  • ls -lh:与ls -l类似,文件大小以K,M,G显示。

  • ls -t:按修改时间对文件进行排序。

  • pwd:当前目录。

  • cd dir:修改当前路径为dir。

  • cd \:切换到主目录。

  • cd ~:切换到用户目录。

  • touch test1:创建文件。

  • mkdir dir1:创建目录。

  • mkdir -p dir1/dir2/dir3:创建多级目录。

  • vi file:写文件内容。

  • ln:创建连接
    ln -s source target:创建软连接(类似快捷方式)。

image.png

ln source target:创建硬链接。

image.png

注意:软链接在它链接的文件删除后不可用,硬连接依旧可用。

image.png

因此,我们可以得出以下定义:
1)软连接:类似快捷方式,删除源文件失效,可以跨文件系统。
2)硬链接:文件别名,删除一个文件名实际文件不会删除,只有当文件的连接个数为0时才会被删除。
3)如果修改软连接和硬链接的内容,原本内容都会被修改,也即使用了同一块内存区域修改。

  • 另外,硬链接不能链接目录。
image.png
  • cp:拷贝命令
    cp test1 test2:文件test1复制test2
    cp /dir1/dir2/test1:复制/dir1/dir2/test1到当前目录。
    cp -r dir1 dir2:目录/dir1复制/dir2。

  • rm:删除命令
    rm test1:删除test1文件
    rm -f test1:删除文件不进行提示
    rm -r dir:删除目录
    rm -rf dir:直接删除目录

改变文件属性与权限
  • chgrp:改变文件所属用户组。
    注意:被改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误。
    格式:chgrp [-R] groupname dirname/filename -R是对目录而言进行递归持续更改。
  • chown:改变文件所有者。
    注意:用户必须是已经存在系统的账号,即在/etc/passwd这个文件中有记录。
    格式:chown [-R] username filename/username
  • chmod:改变文件的权限。
    权限的设置方法分两种:1.使用数字 2.使用符号
    1)使用数字:Linux的基本权限有9个,每3个一组。r=4,w=2,x=1.
    如果是rwx就是7,rw就是6,以此类推。其实是二进制的思想。三组比如就可以写成770(rwxrwx---)。
    举例:chmod 770 .bashrc,当然也可以对目录加-R。
    2)使用符号:可以使用u,g,o(user,group,others)来代表三种身份对应的r,w,x。
    举例:chmod u=rwx,g=rx,o=r filename
    如果我不知道原来的属性,现在我只想添加某个filename文件每个人均可写入的权限,那么可以使用:chmod a+w(x,r) filename 来实现。
    同理要将权限去掉的话:chmod a-w(x,r) filename
注意ls的嵌套

如果我们做如下操作:

image.png

可以发现
ls -ald testing testing/testing
这个语句很长,其实它是一个嵌套语句。
表明的意思是:ls -a(显示所有文件),-l(详细信息),-d(显示目录而不显示目录下的文件),同时后面一个testing表示显示的是testing目录,而再后面跟着的testing/testing则表示我们创建的testing目录下的testing文件,由于我们有-d的标识,因此要查看testing/testing必须多打一遍,因为只有一个testing只会显示目录的信息。

同时要注意:目录的权限只有r而没有x,那么可以读取目录的文件名列表,但是详细的信息是读不到的,因为不可执行。x在目录中的作用是确定“用户是否能进入该目录”。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容