Linux_(1)基本命令(上)

一、基本命令
1.我是谁
whoami
--who am i
2.谁在线
who
w
3.显示当前路径(定位)
pwd
4.切换目录
cd ~返回主目录
cd ..返回上一级目录
5.查看某个目录中的子目录和文件列表
ls

6.切换用户
su 用户名
su root

7.创建用户(需要root权限)
useradd [option] 用户名
8.修改密码(需要root权限)
passwd 用户名
lw3 liwei123

9.显示隐藏文件
ls -a
.当前目录
..上一级目录(父目录)
~当前用户主目录(/home/用户名)
/根目录

10.查看帮助
ls --help
man ls
q 退出

二、系统目录结构
1./根目录
. 当前目录
.. 上级目录
2./bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
3./boot:
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
4./dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,
在Linux中访问设备的方式和访问文件的方式是相同的。
5./etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
6./home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,
一般该目录名是以用户的账号命名的。
7./lib:
这个目录里存放着系统最基本的动态连接共享库,
其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
8./media:
linux系统会自动识别一些设备,例如U盘、光驱等等,
当识别后,linux会把识别的设备挂载到这个目录下。
9./mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,
可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
10./opt:
是给主机额外安装软件所摆放的目录。
比如安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
11./proc:
这个目录是一个虚拟的目录,它是系统内存的映射,
可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,
也可以直接修改里面的某些文件,
比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
12. /root:
该目录为系统管理员,也称作超级权限者的用户主目录。
13./sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
14./srv:
该目录存放一些服务启动之后需要提取的数据。
15./sys:
该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:
针对进程信息的proc文件系统、
针对设备的devfs文件系统、
针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
16./tmp:
这个目录是用来存放一些临时文件的。
17./usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,
类似与windows下的program files目录。
17.1 /usr/bin:
系统用户使用的应用程序。
17.2 /usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
17.3 /usr/src:内核源代码默认的放置目录。
18. /var:
这个目录中存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下。
包括各种日志文件。

三、操作命令
11.创建文件
touch 文件名
touch ./下级目录/文件名

12.创建目录
mkdir 目录名
mkdir -p parent1/parent2/child1/child2

13.删除文件rm[remove]
rm [选项] 文件
rm -R 目录名 //删除非空目录

14.拷贝文件cp[copy]
cp [源文件] [目标文件]
cp -R 源目录 目标目录
cp /etc/passwd . //将/etc目录中的password复制到当前目录

15.移动或重命名文件mv[move]
mv [选项] 源文件 目标位置/目标文件

16.查看文件内容
cat
17.逐屏查看文件内容
more
18.逐行查看文件内容
less
19.显示文件开头部分内容(默认显示10行)
head -5 文件名
20.显示文件结尾部分内容(默认显示10行)
tail -5 文件名

21.显示当前时间
date
22.显示日历
cal
23.显示磁盘用量
df
24.计算每个文件的磁盘用量
du
25.清除屏幕信息
clear

四、文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

1.类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

2.权限
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。

第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,
第7-9位确定其他用户拥有该文件的权限。
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

--对于 root 用户来说,一般情况下,文件的权限对其不起作用。

31.检查文件
ls -l 类型权限、硬连接数、文件拥有者、文件所属组、文件大小、更改时间、文件名
file 目录名/文件名
32.文件类型
- 一般文件
d 目录文件(directory)
b 块设备文件(block)
c 字符设备文件(character)
l 链接文件(link)
p 人工管道(piped)
33.文件权限
u 文件拥有者权限(user)
g 文件所属组权限(group)
o 其他用户权限(other)
r 读权限(read 4)
w 写权限(write 2)
x 执行权限(execute 1)
34.修改文件权限
chmod [选项] 权限 文件名
权限 u/g/o[a/all] +/- r/w/x 多个用","隔开
chmod nnn 文件名

35、chgrp:更改文件属组
语法:
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

36、chown:更改文件属主,也可以同时更改文件属组
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

37、chmod:更改文件9个属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
chmod u/g/o +/- r/w/x 文件或目录
chmod u+w dns
chmod u-w dns

38.建立链接
i节点(inode):Linux内通过i节点管理文件和目录。
硬链接:完全等同于源文件,即同一个node对应多个名称。目录不能使用硬链接。
软链接:为原文件创建一个快捷方式,独立于原文件存在,内容指向源文件(指针文件)。
ln 源文件 硬链接名
ln -s 目录/源文件 软链接名
ls -il 目录名/文件名
作用:硬链接防止误删除,删除文件要在同一个索引节点属于唯一的链接时才能成功。
软连接跨文件系统。

五、系统命令
1. shutdown
功能描述:关机
命令所在路径:/usr/sbin/shutdown
执行权限:root
语法:shutdown
范例:# shutdown -h now

2. reboot
功能描述:重启系统
命令所在路径:/usr/sbin/reboot
执行权限:root
语法:reboot
范例:# reboot

3. umask
功能描述:显示、设置文件的缺省权限
命令所在路径:/bin/umask
执行权限:所有用户
语法: umask [-S]
-S 以rwx形式显示新建文件或目录缺省权限
范例: $ umask
$ umask -S
文件默认权限最大为6,文件默认没有执行权限;目录默认最大权限为7。
用户 一般用户0002 系统用户0022
文件 664 644
目录 775 755

4. info
功能描述:获得帮助信息
指令英文原义:information
指令所在路径:/usr/bin/info
执行权限:All User
语法:info [任何关键字]
例1:查看ls指令的帮助信息
$ info ls

5. whatis
功能描述:获得索引的简短说明信息
指令名称:whatis apropos makewhatis
指令英文原义:search the whatis database for strings
指令所在路径:/usr/bin/whatis apropos
/usr/sbin/makewhatis
执行权限:All User,All User,root
语法:whatis apropos [任何关键字]
范例:
$ whatis ls

6:ifconfig
功能描述:查看网络设置信息
命令所在路径:/usr/sbin/ifconfig
执行权限:root
语法:ifconfig 选项[-a] [网卡设备标识]
-a 显示所有网卡信息
范例:# ifconfig -a

7. ping
功能描述:测试网络连通性
命令所在路径:/usr/sbin/ping
执行权限:root
语法:ping 选项 IP地址
范例: # ping -c 10 192.168.1.1
ctrl+c