千家信息网

linux基础命令1

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,回显命令:echo内建命令echo "How are you"echo "$SHELL" 弱应用,显示变量中的值/bin/bashecho '$SHELL' 强引用类型,不会显示变量中的值$SHELL
千家信息网最后更新 2024年09月30日linux基础命令1

回显命令:echo
内建命令
echo "How are you"
echo "$SHELL" 弱应用,显示变量中的值
/bin/bash
echo '$SHELL' 强引用类型,不会显示变量中的值
$SHELL
-n:禁止显示换行符,默认自动加换行符
-e:允许使用转义符
\n:换行
\t:制表符
echo -e "\n 哈哈"

显示文件的路径:which
which [OPTION] COMMAND
--skip-alias 不显示别名

whereis:locate the binary,source,and manual page files for a COMMAND
whatis
使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字
创建一个数据库
Linux会自动运行创建这个数据库

系统管理类命令:
关机:
halt,poweroff,shutdown,init 0
shutdown是安全关机方式

重启:    reboot,init 6,shutdown与用户登录有关的:    w,who,whoami    whoami:        看当前用户是谁    who:        显示当前有哪些用户登录系统    w: show who is logged on and what they are doing关机或重启命令:    halt,poweroff,reboot        -f 强制关机,不建议。不保存。        -p 切断电源。    shutdown        shutdown [OPTION]...  TIME [MESSAGE]            -r reboot            -h halt 切断电源。            -c cancel 取消shutdown            TIME:                 now 0也是现在                +m:表示从命令提交开始m分钟之后                hh:mm 绝对时间。             MESSAGE:警告的内容

Linux的文件系统
根文件系统(rootfs):
root filesystem

LSB:FHS (FileSystem Heirache Standard)    /etc,/usr,/var,/root,/home,/dev    /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)    都存放在此目录    /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动就用到的程序放在这里    /sbin:管理类的基本命令;不能关联至独立分区,OS启动就用到的程序放在这里.    /lib:基本的共享库和内核模块,以及内核模块文件(/lib/modules);    /lib64:专用于x86_64基本的共享库和内核模块,以及内核模块文件;    /etc:配置文件目录(纯文本文件)    /home/USERNAME:家目录    /root:管理员的家目录    /media:Mount point for removeable media    /mnt:Mount point for temporarily media    /dev:Device files;设备文件及特殊文件        b:block Device --可随机访问        c:character device --必须顺序访问    /opt Add-on application software packages        第三方应用程序的安装位置。    /srv:系统上运行的服务用到的数据    /tmp:临时文件存放位置    /usr:一般独立分区        universal shareable read-only data        必须有下列目录        bin:存放系统完成基本功能的程序,不是启动时的        sbin        lib        lib64        include:c程序的头文件存放位置        share:结构化独立的数据,例如doc,man等        src:源代码所在位置        local:Local hierachy;第三方应用程序的安装位置,目前最常见,也可以mount到独立的文件系统            bin,sbin,lib,lib64    /var: Hierarchy        经常发生变化的数据文件存放位置        cache:应用程序缓存数据目录        lib:应用程序状态数据        local:专用于为/usr/local下的应用程序存储可变数据        lock:应用程序的锁文件        log:日志文件        opt:专用于/opt下的可变数据        run:运行中的进程相关数据;通常用于存储进程的PID文件        spool:缓冲池        tmp:系统2次重启过程中的临时文件存放位置    /proc:伪文件系统,用于输出内核与进程信息相关的虚拟文件系统。    /sys:伪文件系统,用于输出当前系统上硬件设备相关信息的虚拟文件系统。    /selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置。Linux上的应用程序的组成部分    二进制程序: /bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin    库文件: /lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib    配置文件:/etc,/etc/directory,/etc/local/etc    帮助文件:/usr/share/man,/usr/share/doc ,/usr/local/share/man,/usr/local/share/docLinux下的文件类型:    - (f):普通文件    d:目录文件    b:块设备:    c:字符设备    l:符号链接文件,软连接文件    p:管道文件;    s:套接字文件;socket文件

bash的基础特性:
(1) 命令历史
history
环境变量:
HISTSIZE:命令历史记录的条数:
HISFILE: ~/.bash_history;
HISFILESIZE; 命令历史文件记录历史的条数;

        history -d OFFSET 删除指定条目的历史记录            -c 清空        history #:显示最近的number个历史记录        -a:append;手动追加当前会话缓冲区的命令历史至历史文件中。    调用历史中的命令:        !!:最近一次命令        !# :第#号命令        !string:最近一个已制定字符串开头的历史命令    调用上一条命令的最后一个参数        !$:            上一条命令: cat /etc/fstab            当前命令:ls -l !$  #相当于 ls -l /etc/fstab        ESC, .    控制命令历史的记录方式:        环境变量:HISTCONTROL            ignoredups:忽略重复的命令,连续而且相同            ignorespace:忽略所有以空白字符开头的命令            ignoreboth:以上二者都生效        修改环境变量的方式:(只对当前shell和子进程有效)            export 变量名=.....(2)命令补全    bash执行命令:        内部命令:build in        外部命令:搜索$PATH环境变量定义的路径,自左向右在每个路径搜寻以用户给定        名命名的文件,第一次找到的即为要执行的命令。(3) 路径补全(4) 命令行展开    ~:展开为用户的家目录    ~USERNAME :展开为USERNAME的家目录    {}:可承载一个以逗号分隔的列表,并将其展开为多个路径。        /tmp/{a,b} = /tmp/a,/tmp/b    例子:        (1):如何创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,        /tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b            mkdir -p /tmp/x/{y1,y2}/{a,b}        (2):如何创建x_m,y_m,x_n,y_n            mkdir -p /tmp/{x,y}_{m,n}        (3):如何创建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,        /tmp/usr/sbin            mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}(5) 命令的执行结果状态    bash使用特殊变量$?保存最近一条命令的执行状态结果。        0:成功        1-255:失败

目录管理类命令:
cd pwd,ls
mkdir rmdir ,tree
mkdir [option] /path/to/somewhere /path/to/somewhere2
可以用空格,一次创建多个目录。
-p:存在也不报错。如果需要,自动创建父目录。
-m mode ,创建目录时直接指定权限。
rmdir [option] /path
只能删除空目录
-p: 删空目录,一直追溯到不空的父目录

tree:    树状结构显示    -d 仅显示目录    -L:最多显示多少层级。

文件查看类命令
cat,tac
more,less,tail,head

more [option] [file]less [option] [file]head [option] [file]    -c #:指定获取前#个字节    -n #:指定获取前#行;默认就是前十行tail [option] [file]    与head类似    -f 继续跟踪file新追加的内容。查看log文件特别有用

文件的时间戳管理工具
touch
文件:metadata,data
查看文件状态:stat
三个时间戳:
access time,atime: 访问时间,只要用可执行程序访问过,就更新此时间
modify time,mtime:修改时间,改变文件内容,更新这个数据
change time ctime: 改变时间,元数据改变,更新这个数据,而元数据包含这三个时间戳
所以,如果atime和mtime改变了。那么ctime也改变了。
touch [option] [file]
默认touch会改变文件的atime、mtime、ctime
-a: 只改变访问时间
-m:只改变修改时间戳
-t:指明时间戳
touch -m -t 201909011234666 /etc/fstab
-c: 如果文件不存在,那么不创建文件。

0