ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux命令行和shell脚本编程大全笔记

2022-01-28 09:05:13  阅读:99  来源: 互联网

标签:shell 18 编程 mnt dev localhost linux root dongm


第五章

[dongm@localhost 5]$ ls
ceshi
[dongm@localhost 5]$ coproc ls>1.txt
[1] 6497
[1]+  Done                    coproc COPROC ls --color=auto > 1.txt
[dongm@localhost 5]$ cat 1.txt 
1.txt
ceshi
[dongm@localhost 5]$ coproc (pwd;echo $BASH_SUBSHELL)>2.txt
[1] 6595
[1]+  Done                    coproc COPROC ( pwd; echo $BASH_SUBSHELL ) > 2.txt
[dongm@localhost 5]$ cat 2.txt 
/home/dongm/fuxi3/5
2

dongm@localhost 5]$ coproc sleep 10
[1] 7064
[dongm@localhost 5]$ ps -f
UID          PID    PPID  C STIME TTY          TIME CMD
dongm       3708    3702  0 21:44 pts/0    00:00:00 bash
dongm       7064    3708  0 22:34 pts/0    00:00:00 sleep 10
dongm       7071    3708  0 22:34 pts/0    00:00:00 ps -f
[dongm@localhost 5]$ coproc echo $BASH_SUBSHELL>3.txt
bash: warning: execute_coproc: coproc [7064:COPROC] still exists
[2] 7092
[1]   Done                    coproc COPROC sleep 10
[2]+  Done                    coproc COPROC echo $BASH_SUBSHELL > 3.txt
[dongm@localhost 5]$ cat 3.txt 
1
 

第六章

[dongm@www ~]$ variable='hello word'

[dongm@www ~]$ echo $variable
hello word
[dongm@www ~]$ bash
[dongm@www ~]$ bash
[dongm@www ~]$ echo $variable
hello word
[dongm@www ~]$ variable=null
[dongm@www ~]$ echo $variable
null
[dongm@www ~]$ unset variable
[dongm@www ~]$ echo $variable

[dongm@www ~]$ exit
exit

[dongm@www ~]$ ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
dongm     6517  6507  0 22:03 pts/0    00:00:00 bash
dongm     7174  6517  0 22:10 pts/0    00:00:00 bash
dongm     7297  7174  0 22:11 pts/0    00:00:00 ps -f
[dongm@www ~]$ echo $variable
hello word

第七章

chpasswd命令能从标准输入自动读取登录名和密码对(由冒号分割)列表,给密码加密,然后为用户账户设置。你也可以用重定向命令来将含有userid:passwd对的文件重定向给该命令。
# chpasswd < users.txt

dongm@ubuntu:/home/maxm$ su
Password: 
Error: cannot canonicalize mount point: No such file or directory
root@ubuntu:/home/maxm# chpasswd
dongm:1(ctrl+d保存)
root@ubuntu:/home/maxm# exit
exit
maxm@ubuntu:~$ su dongm
Password:           (输入密码1)
dongm@ubuntu:/home/maxm$ 

grep -i umask /etc/login.defs     ### -i 不区分大小写

root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 dongm dongm    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm 4096  1月 18 14:05 2
root@ubuntu:/home/dongm/7# chown sharing. 1
chown: invalid user: `sharing.'
root@ubuntu:/home/dongm/7# chown maxm.sharing 1
root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 maxm  sharing    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm   4096  1月 18 14:05 2
root@ubuntu:/home/dongm/7# chown dongm. 1
root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 dongm dongm    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm 4096  1月 18 14:05 2

-h选项可以改变该文件的所有符号链接文件的所属关系。
root@ubuntu:/home/dongm/7# ln -s 1 3
root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 dongm dongm    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm 4096  1月 18 14:05 2
lrwxrwxrwx 1 root  root     1  1月 18 14:18 3 -> 1
root@ubuntu:/home/dongm/7# chown dongm. 3
root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 dongm dongm    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm 4096  1月 18 14:05 2
lrwxrwxrwx 1 root  root     1  1月 18 14:18 3 -> 1
root@ubuntu:/home/dongm/7# chown -h dongm. 3
root@ubuntu:/home/dongm/7# ls -l
total 4
-rw-r----- 1 dongm dongm    0  1月 18 14:05 1
drwxr-x--x 2 dongm dongm 4096  1月 18 14:05 2
lrwxrwxrwx 1 dongm dongm    1  1月 18 14:18 3 -> 1

usermod -G groupname username

groupmod -n newname oldname

第八章

ext3文件系统为日志文件系统

[root@localhost dongm]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
├─sda3   8:3    0 45.8G  0 part /
├─sda4   8:4    0    1K  0 part 
├─sda5   8:5    0   10G  0 part /mnt/mypartition
├─sda6   8:6    0    5G  0 part 
└─sda7   8:7    0   10G  0 part 
sr0     11:0    1 1024M  0 rom  
sr1     11:1    1 1024M  0 rom  
[root@localhost dongm]# blkid
/dev/sda1: UUID="34c40ae0-1885-4113-bf12-0217b18f1825" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="3d3f9d05-01"
/dev/sda2: UUID="ea68b98f-6ae1-4ef3-b253-4ce2bb1dba6d" TYPE="swap" PARTUUID="3d3f9d05-02"
/dev/sda3: UUID="f323d384-661e-4a08-956a-b7c740920e76" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="3d3f9d05-03"
/dev/sda5: UUID="2482ae10-f90f-41fe-82ff-0e91ac25435d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3d3f9d05-05"
/dev/sda6: UUID="b1f09ead-6eab-4811-a9f6-ebb603a0b103" SEC_TYPE="ext2" BLOCK_SIZE="4096" TYPE="ext3" PARTUUID="3d3f9d05-06"
/dev/sda7: PARTUUID="3d3f9d05-07"       # /dev/sda7已分区,没有创建文件系统

[root@localhost dongm]# fsck /dev/sda6
fsck from util-linux 2.32.1
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda6: clean, 11/131072 files, 25405/524288 blocks
[root@localhost dongm]# fsck /dev/sda7
fsck from util-linux 2.32.1
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda7: clean, 11/655360 files, 66753/2621440 blocks
[root@localhost dongm]# fsck -a /dev/sda6
fsck from util-linux 2.32.1
/dev/sda6: clean, 11/131072 files, 25405/524288 blocks

Linux查看系统与内核信息(uname、file和lsb_release -a) 

本文目录

回到顶部

uname 命令

uname 命令可以用来查看系统与内核的相关信息,命令格式如下:

[root@localhost ~]# uname [选项]

选项:

  • -a:查看系统所有相关信息;
  • -r:查看内核版本;
  • -s:查看内核名称;

-a:查看系统所有相关信息

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

回到顶部

file 命令

如果我们想要判断当前系统的位数,则可以通过 file 命令来判断系统文件(主要是系统命令)的位数,进而推断系统的位数。命令如下:

[root@localhost ~]# file /bin/ls

查询当前系统的位数

[root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

回到顶部

lsb_release -a 命令

如果想要查询当前 Linux 系统的发行版本,则可以使用“lsb_release -a”命令。命令如下:

[root@localhost ~]# lsb_release -a

mount挂载文件

[root@localhost mnt]# ls partition2
[root@localhost mnt]# mount /dev/sda7 partition2/
[root@localhost mnt]# ls partition2
lost+found      (表示此目录挂载了文件系统)
[root@localhost mnt]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        881M     0  881M   0% /dev
tmpfs           897M     0  897M   0% /dev/shm
tmpfs           897M   18M  879M   2% /run
tmpfs           897M     0  897M   0% /sys/fs/cgroup
/dev/sda3        46G   19G   28G  40% /
/dev/sda5       9.8G   37M  9.3G   1% /mnt/mypartition
/dev/sda1       283M  198M   67M  75% /boot
vmhgfs-fuse     473G  129G  344G  28% /mnt/hgfs
tmpfs           180M  1.2M  179M   1% /run/user/42
tmpfs           180M  5.7M  174M   4% /run/user/1002
/dev/sda7       9.8G   37M  9.3G   1% /mnt/partition2

[root@localhost mnt]# umount /dev/sda7
[root@localhost mnt]# ls partition2

LVM原理及PV、VG、LV、PE、LE关系图_北极星的专栏-CSDN博客_lvm

永久挂载---/etc/fstab文件内挂载文件系统步骤    (需要录制视频)

1.物理分区基础上创建物理卷---2.创建卷组---3.创建逻辑卷---4.用文件系统格式化逻辑卷

vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Apr 14 05:01:17 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=f323d384-661e-4a08-956a-b7c740920e76 /                       xfs     defaults        0 0
UUID=34c40ae0-1885-4113-bf12-0217b18f1825 /boot                   ext4    defaults        1 2
UUID=ea68b98f-6ae1-4ef3-b253-4ce2bb1dba6d swap                    swap    defaults        0 0
/dev/sda5  /mnt/mypartition/                                      ext4    defaults        0 0
/dev/vol1/lvtest2  /mnt/partition3/                               ext4    defaults        0 0      (添加此行)

保存后mount -a,/etc/fstab配置文件即可生效

[root@localhost mnt]# df -h
Filesystem                Size  Used Avail Use% Mounted on
devtmpfs                  881M     0  881M   0% /dev
tmpfs                     897M     0  897M   0% /dev/shm
tmpfs                     897M   18M  879M   2% /run
tmpfs                     897M     0  897M   0% /sys/fs/cgroup
/dev/sda3                  46G   19G   28G  40% /
/dev/sda5                 9.8G   37M  9.3G   1% /mnt/mypartition
/dev/sda1                 283M  198M   67M  75% /boot
vmhgfs-fuse               473G  129G  344G  28% /mnt/hgfs
tmpfs                     180M  1.2M  179M   1% /run/user/42
tmpfs                     180M  5.7M  174M   4% /run/user/1002
/dev/mapper/vol1-lvtest1  4.9G   20M  4.6G   1% /mnt/partition2
[root@localhost mnt]# mount -a
[root@localhost mnt]# df -h
Filesystem                Size  Used Avail Use% Mounted on
devtmpfs                  881M     0  881M   0% /dev
tmpfs                     897M     0  897M   0% /dev/shm
tmpfs                     897M   18M  879M   2% /run
tmpfs                     897M     0  897M   0% /sys/fs/cgroup
/dev/sda3                  46G   19G   28G  40% /
/dev/sda5                 9.8G   37M  9.3G   1% /mnt/mypartition
/dev/sda1                 283M  198M   67M  75% /boot
vmhgfs-fuse               473G  129G  344G  28% /mnt/hgfs
tmpfs                     180M  1.2M  179M   1% /run/user/42
tmpfs                     180M  5.7M  174M   4% /run/user/1002
/dev/mapper/vol1-lvtest1  4.9G   20M  4.6G   1% /mnt/partition2
/dev/mapper/vol1-lvtest2   15G   41M   14G   1% /mnt/partition3

如需卸载,1.umount /dev/vol1/lvtest2  (umount 设备 目录或者uuid都可)

2./etc/fstab文件注释掉此行

#/dev/vol1/lvtest2  /mnt/partition3/                               ext4    defaults        0 0

保存后mount -a即可。

第九章

yum provides filename  ----找出文件是哪个安装包的
yum list installation-package ---找出包是否安装等信息

第十章

GNOME是一套纯粹自由的计算机软件,运行在操作系统上,提供图形桌面环境

第十一章

命令替换会创建一个子shell来运行对应的命令。子shell(subshell)是由运行该脚本的shell
所创建出来的一个独立的子shell(child shell)。正因如此,由该子shell所执行命令是无法
使用脚本中所创建的变量的。在命令行提示符下使用路径./运行命令的话,也会创建出子shell,要是运行命令的时候不加入路径,就不会创建子shell。如果你使用的是内建的shell命令,并不会涉及子shell。在命令行提示符下运行脚本时一定要留心!

[dongm@localhost ~]$ echo `echo $BASH_SUBSHELL`
1
 

标签:shell,18,编程,mnt,dev,localhost,linux,root,dongm
来源: https://blog.csdn.net/weixin_47680367/article/details/122484235

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有