day 0807 Linux 基础

编程入门 行业动态 更新时间:2024-10-08 02:27:08

day 0807 Linux <a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础"/>

day 0807 Linux 基础

Linux 基础

Lniux,Windows,MacOS,操作系统,基于Unix发展而来

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

** Linux学习的系统版本的选择**

Linux系统种类繁多,为方便学习,本课程我们选择Ubuntu。Ubuntu分桌面版和服务器版。为方便大家学习,我们优先选择拥有图形化界面桌面版Ubuntu 14.04 LTS来学习Linux基本命令。这里,14.04是版本号,代表2014年出的稳定版本LTS 代表这个版本是Ubuntu长期支持的版本。现在已更新至Ubuntu 18.04 LTS(版本越高,对计算机的硬件要求越高)。Ubuntu 项目完全遵从开源软件开发的原则;并且鼓励人们使用、完善并传播开源软件。也就是说Ubuntu目前是并将永远是免费的。 然而,这并不仅仅意味着零成本,自由软件的理念是人们应该以所有“对社会有用”的方式自由地使用软件。“自由软件” 并不只意味着您不需要为其支付费用,它也意味着您可以以自己想要的方式使用软件:任何人可以任意方式下载、修改、修正和使用组成自由软件的代码。因此,除去自由软件常以免费方式提供这一事实外,这种自由也有着技术上的优势:进行程序开发时,就可以使用其他人的成果或以此为基础进行开发。对于非自由软件而 言,这点就无法实现,进行程序开发时,人们总得白手起家。基于上述原因,自由软件的开发是迅捷、高效和激动人心的!

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

文件和目录操作的基本指令

1 pwd(print Working Directory)

xdw@xdw-virtual-machine:~$ pwd
/home/xdw

  • 显示工作目录

2.cd(Change Directory)

  • 切换工作目录
cd ..

四个特殊符号

符号含义
~表示用户的主目录
-表示前一个工作目录
.表示当前目录
表示上一层目录

ls

ls:

  • -F 给不同的文件添加不同表示,添加帽子

  • d/ l* =s

  • -a: 显示隐藏文件 以.开头的文件

  • -p: 只给目录添加/

  • -t: 按照修改时间排序 time

  • –time-style=long-iso: ls -l --time-style=long-iso 显示友好长格式时间

  • -r: 倒着排序 reverse

  • -S: 按照文件大小排序

  • -h: 以人类理解的范围显示

  • -i: 索引节点(inode==书的目录) print the index number of each file(内核根据此区别文件是否同一文件)

No.命令说明
1ls -a列出文件下所有的文件,包括以“.”开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在…代表存在着父目录)。
2ls -l列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
3ls -F在每一个文件的末尾加上一个字符说明该文件的类型“@”表示符号链接、“|”表示FIFOS、“/”表示目录、“=”表示套接字。
4ls -s在每个文件的后面打印出文件的大小。 size(大小)
5ls -t按时间进行文件的排序。 Time(时间)
6ls -A列出除了“.”和“…”以外的文件。
7ls -R将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
8ls -L列出文件的链接名。Link(链接)
9ls -S以文件的大小进行排序。

不同文件名称有不同的颜色,颜色的含义:

颜色含义
绿色可执行文件
红色压缩文件
深蓝色目录
浅蓝色链接文件
灰色其他文件

tree

xdw@xdw-virtual-machine:/bin$ tree
.
├── bash
├── bunzip2
├── busybox
├── bzcat
├── bzcmp -> bzdiff
├── bzdiff
├── bzegrep -> bzgrep
├── bzexe
├── bzfgrep -> bzgrep
├── bzgrep
├── bzip2
├── bzip2recover
├── bzless -> bzmore
├── bzmore
├── cat
├── chacl
├── chgrp
├── chmod
├── chown
├── chvt
├── cp
├── cpio
├── dash
├── date
├── dd
├── df
├── dir
├── dmesg
├── dnsdomainname -> hostname
├── domainname -> hostname
├── dumpkeys
├── echo
├── ed
├── efibootmgr
├── egrep
├── false
├── fgconsole
├── fgrep
├── findmnt
├── fuser
├── fusermount
├── getfacl
├── grep
├── gunzip
├── gzexe
├── gzip
├── hciconfig
├── hostname
├── ip
├── journalctl
├── kbd_mode
├── kill
├── kmod
├── less
├── lessecho
├── lessfile -> lesspipe
├── lesskey
├── lesspipe
├── ln
├── loadkeys
├── login
├── loginctl
├── lowntfs-3g
├── ls
├── lsblk
├── lsmod -> kmod
├── mkdir
├── mknod
├── mktemp
├── more
├── mount
├── mountpoint
├── mt -> /etc/alternatives/mt
├── mt-gnu
├── mv
├── nano
├── nc -> /etc/alternatives/nc
├── nc.openbsd
├── netcat -> /etc/alternatives/netcat
├── netstat
├── networkctl
├── nisdomainname -> hostname
├── ntfs-3g
├── ntfs-3g.probe
├── ntfs-3g.secaudit
├── ntfs-3g.usermap
├── ntfscat
├── ntfscluster
├── ntfscmp
├── ntfsfallocate
├── ntfsfix
├── ntfsinfo
├── ntfsls
├── ntfsmove
├── ntfstruncate
├── ntfswipe
├── open -> openvt
├── openvt
├── pidof -> /sbin/killall5
├── ping
├── ping6
├── plymouth
├── ps
├── pwd
├── rbash -> bash
├── readlink
├── red
├── rm
├── rmdir
├── rnano -> nano
├── run-parts
├── sed
├── setfacl
├── setfont
├── setupcon
├── sh -> dash
├── sh.distrib -> dash
├── sleep
├── ss
├── static-sh -> busybox
├── stty
├── su
├── sync
├── systemctl
├── systemd -> /lib/systemd/systemd
├── systemd-ask-password
├── systemd-escape
├── systemd-hwdb
├── systemd-inhibit
├── systemd-machine-id-setup
├── systemd-notify
├── systemd-tmpfiles
├── systemd-tty-ask-password-agent
├── tailf
├── tar
├── tempfile
├── touch
├── true
├── udevadm
├── ulockmgr_server
├── umount
├── uname
├── uncompress
├── unicode_start
├── vdir
├── vmmouse_detect
├── wdctl
├── which
├── whiptail
├── ypdomainname -> hostname
├── zcat
├── zcmp
├── zdiff
├── zegrep
├── zfgrep
├── zforce
├── zgrep
├── zless
├── zmore
└── znew

mkdir

  • 创建一个目录或者一个级联目录
 mkdir -p first/second

mkdir 常见选项参数

选项参数说明
-m为目录指定访问权限
-p建立目录时,如果父目录不存在,则与子目录一起建立
-v为每个目录显示提示信息

touch

  • 在当前目录下创建文件
  • 在指定目录下创建文件
    • 当前目录子目录
    • 当前目录父目录的非当前目录的子目录下
  • 指定文件格式
  • 一次创建多个文件
`xdw@xdw-virtual-machine:~/first$ touch test1
xdw@xdw-virtual-machine:~/first$ touch second/test2
xdw@xdw-virtual-machine:~/first$ mkdir file1 file2
xdw@xdw-virtual-machine:~/first$ cd file1
xdw@xdw-virtual-machine:~/first/file1$ touch sb1 sb2
xdw@xdw-virtual-machine:~/first/file1$ mkdir file{3..5}
xdw@xdw-virtual-machine:~/first/file1$ 

选项参数如下表:

选项参数说明
-a仅修改访问时间
-c仅修改文件的时间,若该文件不存在则不创建新文件。
-d后面可以接欲修改的日期而不用目前的日期,或用 --d=“日期或时间”
-m仅修改mtime
-t后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm]

rmdir

  • 删除空目录

remove directory

rm

  • 删除文件

remove

cp

  • 复制

copy

mv

  • 移动

  • 将文件移动一个地方且重命名

  • 同一个目录下,重命名

用户及权限管理命令

  • whoami

    查看当前系统当前账号

exit命令

Exit命令用来退出登录账户。如果当前是图形界面,退出当前终端;如果是使用ssh远程登录,退出远程登陆账户;如果是切换后的登陆用户,则退出返回上一个登陆账号。

得到最高权限

  • su root

用户(user)和用户组(group)管理命令

用户(user)的概念

Linux是多用户操作系统,我们可以建立多个用户(user)。比如,朋友想借你的电脑使用一下,但你的用户名下有不想让人看到的资料,这时就可以新建一个用户名给朋友使用。

除此以外,Linux中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问[外链图片转存失败(img-g62liy5w-1565260495372)(file:///C:\Users\xdw\AppData\Local\Temp`7_{~]GF$3{MOQ4V_}PH]YC.png)]LinuxSir.Org的网页程序,就是nobody用户;我们匿名访问ftp时,会用到用户ftp或nobody;如果您想了解Linux系统的一些帐号,可以查看 /etc/passwd 。

用户组(group)的概念

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。

用户和用户组的****关系

二者的关系是:一对一、多对一、一对多或多对多。

关系说明
一对一某个用户可以是某个组的唯一成员
多对一多个用户可以是某个唯一的组的成员,不归属其它用户组
一对多某个用户可以是多个用户组的成员
多对多多个用户对应多个用户组,并且几个用户可以是归属相同的组

用户(user)和用户组(group)相关的配置文件、命令

1与用户(user)和用户组(group)相关的配置文件

1)与用户(user)相关的配置文件

/etc/passwd (用户(user)的配置文件);

/etc/shadow (用户(user)影子口令文件);

2)与用户组(group)相关的配置文件

/etc/group (用户组(group)配置文件);

/etc/gshadow (用户组(group)的影子文件);

2、管理用户(user)和用户组(group)的相关工具或命令;

1)管理用户(user)的工具或命令

命令说明
useradd 用户名添加用户
passwd 用户名为用户设置密码
usermod修改用户命令,可以通过usermod 来修改登录名、用户的家目录
pwcov同步用户从/etc/passwd 到/etc/shadow

2)管理用户组(group)的工具或命令

命令说明
groupadd添加用户组
groupdel删除用户组
groupmod修改用户组信息
                          |

| passwd 用户名 | 为用户设置密码 |
| usermod | 修改用户命令,可以通过usermod 来修改登录名、用户的家目录 |
| pwcov | 同步用户从/etc/passwd 到/etc/shadow |

2)管理用户组(group)的工具或命令

命令说明
groupadd添加用户组
groupdel删除用户组
groupmod修改用户组信息
groups显示用户所属的用户组

更多推荐

day 0807 Linux 基础

本文发布于:2024-02-25 08:23:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1698355.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   day   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!