linux 常用命令以及目录解析笔记

来自教学笔记供自己方便查阅

Linux系统中常见目录功能如下:

/ 根目录;(所有的文件和目录都是从根开始的)

/bin 存放必要的命令;默认的标准Linux命令使用(root和普通用户直接使用)

/boot 存放内核以及启动所需的文件;(开启启动文件都在boot目录,vmlinuzinitrdgrub程序)

/dev 存放硬件设备文件;(存放和设备有关的文件,磁盘、打印机、光盘、驱动)

/etc 存放系统配置文件;(存放系统配置和系统服务方向的文件,默认Linux yum 安装httpd web服务器,主

配置文件就在/etc/目录) 系统服务和自定义服务,yum或者rpm安装都是系统服务,源码安装服务都是自定义服务。

/home 普通用户的宿主目录,用户数据存放在其主目录中; (普通用户家目录)

/lib|lib64 存放必要的运行库;(存放系统模块和系统变量文件)

/mnt 存放临时的映射文件系统,通常用来挂载使用;

/media 这个目录也是用来挂载使用。

/proc 存放存储进程和系统信息;(查看进程信息、内核信息,cpu状态、内存状态)

/root 超级用户的主目录;(root用户的家目录)

/sbin 存放系统管理程序;(和bin类似都是存放命令,但是/sbin/目录中存储的系统管理程序)

/tmp 存放临时文件;有的Linux系统会对这个目录进行定期清理。

/usr 存放应用程序,命令程序文件、程序库、手册和其它文档;(用户管理文件)

/var 系统默认日志存放目录。(用户存放系统变量文件、日志文件)

 

常用命令练习

1.cd命令主要用于目录切换,例如:cd /home切换至/home目录,cd /root表示切换至/root目录 ;cd ../切换至上一

级目录;cd ./切换至当前目录。

[root@www-jfedu-net network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@www-jfedu-net network-scripts]# cd ../../../home/www/

[root@www-jfedu-net www]# pwd

/home/www

[root@www-jfedu-net www]# cd -

/etc/sysconfig/network-scripts

[root@www-jfedu-net network-scripts]# cd /home/www/

[root@www-jfedu-net www]# pwd

/home/www

目录的相对路径和绝对路径:

绝对路径表示:一个从根开始的完整路径 cd /etc/sysconfig/network-scripts

相对路径表示:相当于当前路径进入的另一个目录 cd ../../../home/www/其中...可以理解:. 代表当前目录,.. 代表上一级目录。

[root@www-jfedu-net www]# cd .

[root@www-jfedu-net www]# cd ..

[root@www-jfedu-net home]#

2.

ls命令主要用于浏览目录下的文件或者文件夹,使用方法参考:ls ./ 查看当前目录所有的文件和目录,ls -a

查看所有的文件,包括隐藏文件,.开头的文件

ls 查看当前目下文件或者目录

ls -l 以长格式查看文件权限 可以简写为ll 命令

ls -lh 以存储单位显示文件格式

ls -a 查看所有的文件,包括隐藏文件,.开头的文件

3.

pwd命令主要用于显示或者查看当前所在的目录路径

4.

mkdir命令主要用于创建目录,用法mkdir dirname,命令后接目录的名称

mkdir -p jfedu7/a/b/c/d/e/ -p 参数 递归创建。

5.

rm 命令主要用于删除文件或者目录,用法 rm rf test.txt (-r表示递归,-f表示强制)

[root@www-jfedu-net ~]# rm -v jfedu

rm: remove regular file jfedu’? y

removed jfedu

6.

cp 命令主要用于拷贝文件,用法,cp old.txt /tmp/new.txt ,常用来备份,如果拷贝目录需要加-r参数

[root@www-jfedu-net ~]# cp 1.txt 2.txt

[root@www-jfedu-net ~]# ll 1.txt 2.txt

-rw-r--r-- 1 root root 8 Jul 25 14:38 1.txt

-rw-r--r-- 1 root root 8 Aug 9 21:55 2.txt

[root@www-jfedu-net ~]# ll jfedu7 -d

drwxr-xr-x 3 root root 4096 Aug 9 21:51 jfedu7

[root@www-jfedu-net ~]# cp -r jfedu7 jfedu9

cp -a 参数 等于 cp -pdr 参数

-p 拷贝之后保留源参数所有的权限和时间

-d 保留链接

-r cp 目录递归。

7.

mv 命令主要用于重命名或者移动文件或者目录,用法, mv old.txt new.txt

[root@www-jfedu-net jfedu1]# mv jfedu jfedu666

[root@www-jfedu-net jfedu1]# ll jfedu666

-rw-r--r-- 1 root root 0 Aug 9 22:04 jfedu666

[root@www-jfedu-net jfedu1]# ls jfedu

ls: cannot access jfedu: No such file or directory

[root@www-jfedu-net jfedu1]# ls

a jfedu666 welcome.conf[root@www-jfedu-net jfedu1]# mv jfedu666 /data/jfedu777

[root@www-jfedu-net jfedu1]# ll /data/jfedu777

-rw-r--r-- 1 root root 0 Aug 9 22:04 /data/jfedu777

8.

touch 命令主要用于创建普通文件,用法为touch test.txt,如果文件存在,则表示修改当前文件时间

touch 创建文件,可以用stat 命令查看文件属性。

[root@www-jfedu-net jfedu1]# stat jfedu

File: ‘jfedu

Size: 0 Blocks: 0 IO Block: 4096 regular empty file

Device: fd01h/64769d Inode: 406291 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2019-08-09 22:07:56.437758771 +0800

Modify: 2019-08-09 22:07:56.437758771 +0800

Change: 2019-08-09 22:07:56.437758771 +0800

Birth: -

#Access time : 文件的访问时间 (catless

#Modify time : 文件内容的修改时间 (vimechosed

#Change time : 文件权限的或者属性的修改时间,文件大小 (chmodchown

[root@www-jfedu-net jfedu1]# touch -t 1908010101 jfedu

9.

cat 命令主要用于查看文件内容,用法 cat test.txt 可以查看test.txt内容

cat test.txt 查看文件内容

-n 参数 查看文件内容行号

cat 重定向用法

cat jfedu

66666666666666666666666

cat >> jfedu << eof

> 覆盖文件文件内容

>> 追加文件内容

[root@www-jfedu-net jfedu1]# cat >> jfedu <<eof

> 777777777777777777

> eof

[root@www-jfedu-net jfedu1]# cat jfedu

6666666666666666666

777777777777777777

[root@www-jfedu-net jfedu1]# cat > jfedu << eof

> 88888888888

> eof

[root@www-jfedu-net jfedu1]# cat jfedu

88888888888

10

head 命令 和 tail 命令 分别用于查看文件的前面的内容和后面的内容

[root@www-jfedu-net ~]# cat -n /etc/passwd|head

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6 sync:x:5:0:sync:/sbin:/bin/sync7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

10 operator:x:11:0:operator:/root:/sbin/nologin

[root@www-jfedu-net ~]# cat -n /etc/passwd|tail

25 nginx:x:996:993:nginx user:/var/cache/nginx:/sbin/nologin

26 mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin

27 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

28 dockerroot:x:995:992:Docker User:/var/lib/docker:/sbin/nologin

29 gitlab-www:x:994:991::/var/opt/gitlab/nginx:/bin/false

30 git:x:993:990::/var/opt/gitlab:/bin/sh

31 gitlab-redis:x:992:989::/var/opt/gitlab/redis:/bin/false

32 gitlab-psql:x:991:988::/var/opt/gitlab/postgresql:/bin/sh

33 tss:x:59:59:Account used by the trousers package to sandbox the tcsd

daemon:/dev/null:/sbin/nologin

34 www:x:1000:1000::/home/www:/sbin/nologin

#查看后20行:cat -n /etc/passwd|tail -20

#tail -f 参数 可以动态查看文件后面追加的内容。

用户权限

1.echo命令主要用于打印字符或者回显,例如输入echo ok,会显示ok echo  ok  > test.txt 则会把ok字符覆盖

test.txt内容。>表示覆盖,原内容被覆盖,>>表示追加,原内容不变。

2. df命令常用于磁盘分区查询,常用命令df –h,查看磁盘分区信息

[root@zabbix_server ~]# echo "www.jfedu.com"

www.jfedu.com

[root@zabbix_server ~]# echo "www.jfedu.com" > 1.txt

[root@zabbix_server ~]# cat 1.txt

www.jfedu.com

> 表示覆盖,原内容被覆盖

>> 表示追加,原内容不变

-e :增加echo 的扩展参数,使用\n或者颜色才会生效。

\n :换行且光标移至行首;

echo -e "\033[36mPlease Select\nInstall Menu follow:\033[0m"

\ :反斜杠默认是转义

echo -e \$PWD :当前示例中将变量转换成字符原意

echo -e $PWD :当前示例中直接打印这个变量

变量打印实例:

[root@zabbix_server ~]# echo $PWD

/root

[root@zabbix_server ~]# echo "$PWD"

/root

[root@zabbix_server ~]# echo '$PWD'

$PWD

单引号:保持打印原意字符

双引号:保持打印变量的含义

不加单引号或者双引号:默认打印出变量

-H, --si -h,但是强制使用1000而不是1024

-T, --print-type 显示文件系统类型;

-t, --type=类型 只显示指定文件系统为指定类型的信息;

-i, --inodes 显示inode 信息而非块使用量;3. du命令常用于查看文件在磁盘中的使用量,常用命令du -sh,查看当前目录所有文件及文件及的大小

4. VI或者VIM 是一个命令行界面下的文本编辑工具

Linux中主流的文本编辑器包括:VIVimSublimeEmacsLight TableEclipseGedit等。

[root@zabbix_server ~]# df -hT

Filesystem Type Size Used Avail Use% Mounted on

/dev/sda3 xfs 20G 1.7G 18G 9% /

devtmpfs devtmpfs 227M 0 227M 0% /dev

tmpfs tmpfs 237M 0 237M 0% /dev/shm

tmpfs tmpfs 237M 13M 224M 6% /run

tmpfs tmpfs 237M 0 237M 0% /sys/fs/cgroup

/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt

/dev/sda1 xfs 197M 103M 95M 52% /boot

tmpfs tmpfs 48M 0 48M 0% /run/user/0

Filesystem :设备名称 /dev/sda1 /dev/sda2

Type :文件系统类型

Size: 总的大小

Used:已经使用多少

Avail :剩余多少

Use% :已经使用百分比

Mounted on:挂载的目录

#查看磁盘inode值,inode 用来标识磁盘中每一个文件

[root@zabbix_server ~]# df -hi

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/sda3 9.7M 48K 9.7M 1% /

devtmpfs 57K 378 57K 1% /dev

tmpfs 60K 1 60K 1% /dev/shm

tmpfs 60K 513 59K 1% /run

tmpfs 60K 16 60K 1% /sys/fs/cgroup

/dev/sr0 0 0 0 - /mnt

/dev/sda1 100K 327 100K 1% /boot

tmpfs 60K 1 60K 1% /run/user/0

du -sh /etc/

5dd5表示总共5行,删除光标所在后的5行,包含光标行;

d$” $"代表行尾,删除到行尾的内容,包含光标;

2yy表示复制光标及后2行,包括光标行;

“%d” %代表全部或者全局,%d表示删除文本所有的内容,也即是清空文档所有的内容。

vim 模式:

命令行模式;

文本输入模式;

末行模式。Linux Shell终端下默认执行vim命令,按Enter键后: 점

默认进入命令行模式; 점

在命令行模式按i进入文本输入模式; 점

ESC进入命令行模式;

:进入末行模式。

vim编辑常用参数:

命令行模式:

yy 复制光标所在行;

nyy 复制n行;

p,P 粘贴;

u 撤消上一次;

U 撤消当前所有;

dd 删除整行,剪切整行;

ndd 删除n行,剪切n行;

gg 快速返回首行

GG 快速返回末行

shift + 6 移动到行首

shift + 4 移动到行末

d$ 删除到行末

d^ 删除到行首

dG 删除从光标所在行到未行

切换到文本输入模式命令aioAIO

a 从光标所在字符后一个位置开始录入;

A 从光标所在行的行尾开始录入;

i 从光标所在字符前一个位置开始录入;

I 从光标所在行的行首开始录入;

o 跳至光标所在行的下一行行首开始录入;

O 跳至光标所在行的上一行行首开始录入;

末行模式参数:

10000 快速移动到10000

:w 保存;

:q 退出;

:s/x/y 替换1行;

:wq 保存退出;

1,5s/x/y 替换1,5行;

:wq! 强制保存退出;

:x 保存;

/word 从前往后找,正向搜索;

?word 从后往前走,反向搜索;

:s/old/new/g old替换为new,前提是光标一定要移到那一行;

:%s/old/new/gc 替换时手动替换

#%和不加% % 代表全局,没有% 代表当前行。

:s/old/new 将这一行中的第一次出现的old替换为new,只替换第一个;

:1,$s/old/new/g 第一行到最后一行中的old替换为new

:1,100 s/old/new/g 1行到100行中的old替换为new

:1,2,3 s/old/new/g 第一行第二行第三行中的old改为new

%#25/tcp#26/tcp#gc 使# 进行替换。

其中替换用到斜杠,也可以使用#,@,都可以做替换字符1.3 用户权限

创建一个用户:

Linux系统用户是根据用户ID来识别的,默认ID长度为32位,从默认ID编号从0开始,限制60000用户

Centos 6.x Linux用户分总共分为三种,分别如下: 점

root用户 (ID 0) 점

系统用户 (ID 1-499

普通用户 (ID 500以上)

Centos 7.x Linux用户分总共分为三种,分别如下: 점

root用户 (ID 0) 점

系统用户 (ID 1-999

普通用户 (ID 1000以上)

root用户系统中超级管理员

系统用户:管理系统上面的系统服务

普通用户:用户分配给普通服务使用。

---------------------

Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,主要为了安全,对于系统资源进行细化和限定。

Linux操作系统用户的特点如下: 점

每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名; 4

每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;一个用户如果有多个附属组,这个

用户就会拥有多个附属组的组权限。 점

每个组拥有一个GroupID,也就是GID; 점

每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限,进程就是服务的对应开启程序产生。 4

每个可登陆用户拥有一个指定的Shell环境(命令环境)/bin/bash,/sbin/nologin.

[root@zabbix_server ~]# useradd echo

[root@zabbix_server ~]# id echo

uid=1000(echo) gid=1000(echo) groups=1000(echo)

[root@zabbix_server ~]# passwd echo

Changing password for user echo.

New password:

BAD PASSWORD: The password is a palindrome

Retype new password:

passwd: all authentication tokens updated successfully.

家目录:默认创建的用户都在/home 目录下。

[root@zabbix_server ~]# ls /home/

echo

[root@zabbix_server ~]# useradd jfedu -d /opt/jfedu -u 8888 -G echo -s /sbin/nologin

[root@zabbix_server ~]# id jfedu

uid=8888(jfedu) gid=8888(jfedu) groups=8888(jfedu),1000(echo)

bash 命令环境登录信息:

.bash_profile:每个用户都可使用该文件输入专用于自己使用的Shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

.bashrc:该文件包含专用于你的bash Shellbash信息,当登录时以及每次打开新的Shell,该该文件被读取.

.bash_logout:当每次退出系统(退出bash Shell),执行该文件.

 

常见使用ll 命令查看到文件权限首字母可以判断文件类型

- 普通文件

d:目录文件

l:连接文件

b:块设备文件

c:字符设备文件

p:管道符文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值