Linux初学者小记
发布时间:2020-12-14 00:23:54 所属栏目:Linux 来源:网络整理
导读:a开头的小命令 alias命令 # echo=‘ - - - ‘ /sys/class/scsi_host/host0/scan这条命令是咱们在给虚拟机装了一块新的硬盘后,在不关机的前提下扫描你的硬盘,使你新装的硬盘可用。# 显示现在只有一块200G的硬盘sda[[email?protected] ~]$lsblk NAME MAJ:MIN
a开头的小命令
alias命令# echo=‘ - - - ‘ > /sys/class/scsi_host/host0/scan这条命令是咱们在给虚拟机装了一块新的硬盘后,在不关机的前提下扫描你的硬盘,使你新装的硬盘可用。 # 显示现在只有一块200G的硬盘sda [[email?protected] ~]$lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 100G 0 part / ├─sda3 8:3 0 3G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 50G 0 part /data sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64 # 手动添加硬盘ing # 咱们再用lsblk命令去看,还是没有新增硬盘的。 [[email?protected] ~]$lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 100G 0 part / ├─sda3 8:3 0 3G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 50G 0 part /data sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64 # 现在执行这条长的命令echo=‘ - - - ‘ > /sys/class/scsi_host/host0/scan # 我们再次使用lsblk命令查看,我们现在有了一块新的100G硬盘sdb [[email?protected] ~]#echo=‘- - -‘ > /sys/class/scsi_host/host0/scan [[email?protected] ~]#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 100G 0 part / ├─sda3 8:3 0 3G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 50G 0 part /data sdb 8:6 0 100G 0 disk sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64 # 给你们觉得比较长且难记的命令顶一个别名,就像小时候给别人取外号一样。 列: alias scandik="echo=‘ - - - ‘ > /sys/class/scsi_host/host0/scan" # 定义别名NAME,其相当于执行命令VALUE alias NAME=‘VALUE‘ # 如果想永久有效,要定义在配置文件中 # 仅对当前用户:~/.bashrc # 对所有用户有效:/etc/bashrc b开头的小命令bc命令# bc是一个相当于windows里计算器的工具 [[email?protected] ~]#bc bc 1.06.95 Copyright 1991-1994,1997,1998,2000,2004,2006 Free Software Foundation,Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty‘. 2*3 6 quit [[email?protected] ~]# bash命令在Linux上采用bash作为标准,基本上它描述了对带有“.sh”扩展名的vi编辑器等文本的处理并执行。 与编程一样,它有许多函数,如变量,函数和算术处理,所以如果你是一个小程序,你可以用bash编写它。 此外,由于bash是由shell执行的,因此它也称为shell脚本 # 我们首先创建一个简单的脚本,将“Hello World !!”输出到控制台。使用vim命令创建新文件。 [[email?protected] ~]#vim hello.sh # 打开编辑器后,按如下所示编写。 #!/usr/bin/bash echo "Hello World!!" exit 0 # 第一行上的“#!/ usr / bin / bash”表示它是使用bash的shell脚本。 # 第二行描述了要执行的语句。 # 最后,使用“exit 0”退出 bash。参数0表示正常结束。 # 创建文件后,使用bash命令执行shell脚本。 [[email?protected] ~]#bash hello.sh # 执行结果 Hello World!! c开头的小命令cat命令# 一次显示整个文件。 [[email?protected] ~]#cat filename # 从键盘创建一个文件。 # 只能创建新文件,不能编辑已有文件. [[email?protected] ~]#cat > filename # 将几个文件合并为一个文件。 [[email?protected] ~]#cat file1 file2 > file cd命令# 跳转至home目录下 [[email?protected] ~]#cd /home [[email?protected] home]#pwd /home # 返回父目录 # 注:"/"此处可省略 [[email?protected] ~]#cd ../ e开头的小命令echo命令# echo命令基本用法,很简单,就是echo命令后面跟上要输出的文本,如下: [[email?protected] home]#echo 123 123 [[email?protected] home]#echo magedu magedu [[email?protected] home]#echo sunxiaobo sunxiaobo b 转义后相当于按退格键(backspace),但前提是"b"后面存在字符, c 不换行输出,在"c"后面不存在字符的情况下,作用相当于echo -n n 换行 f 换行,但是换行后的新行的开头位置接着上一行的行尾 v 与 f 相同 t 转义后表示插入tab,即制表符 r 光标移至行首,但是不换行,相当于"r"以后的字符覆盖"r"之前同等长度的字符 表示插入""本身 enable命令# enable命令用于临时关闭或者激活指定的shell内部命令。若要执行的文件名称与shell内建命令相同,可用enable -n来关闭shell内建命令。若不加-n选项,enable可重新启动关闭的命令。 # -n:关闭指定的内部命令 # -a:显示所有激活的内部命令 # -f:从指定文件中读取内部命令 [[email?protected] home]#enable (选项)(参数) exit命令# exit命令用于退出目前的shell。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。exit也可用在script,离开正在执行的script,回到shell。 f开头的小命令free命令# free 命令显示系统内存的使用情况 [[email?protected] home]#free total used free shared buff/cache available Mem: 1487296 823320 81604 57256 582372 447372 Swap: 3145724 264 3145460 # 如果加上 -h 选项,输出的结果会友好很多 [[email?protected] home]#free -h total used free shared buff/cache available Mem: 1.4G 804M 79M 55M 568M 436M Swap: 3.0G 264K 3.0G # 下面先解释一下输出的内容: Mem 行(第二行)是内存的使用情况。 Swap 行(第三行)是交换空间的使用情况。 total 列显示系统总的可用物理内存和交换空间大小。 used 列显示已经被使用的物理内存和交换空间。 free 列显示还有多少物理内存和交换空间可用使用。 shared 列显示被共享使用的物理内存大小。 buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。 available 列显示还可以被应用程序使用的物理内存大小。 我想只有在理解了一些基本概念之后,上面的输出才能帮助我们了解系统的内存状况 g开头的小命令gedit命令# gedit是Linux里的一个图形界面的文本编辑工具 # 当下Linux下面最流行的文本编辑器是vi,所以建议你使用vi h开头的小命令hash命令# linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从$PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去$PATH路径下寻找。 # 输入hash或hash -l 可以查看hash表的内容 # 我们执行hash,结果如下 [[email?protected] home]#hash hits command 2 /usr/bin/pwd 3 /usr/bin/bash 1 /usr/bin/echo 1 /usr/bin/cat 2 /usr/bin/vim 1 /usr/bin/sh 1 /usr/bin/man 2 /usr/bin/free # 我们执行hash -l,加参数-l既可以看到hash表命令的路径,也可以看到它的名字,说不定会有别名哦! [[email?protected] home]#hash -l builtin hash -p /usr/bin/pwd pwd builtin hash -p /usr/bin/bash bash builtin hash -p /usr/bin/echo echo builtin hash -p /usr/bin/cat cat builtin hash -p /usr/bin/vim vim builtin hash -p /usr/bin/sh sh builtin hash -p /usr/bin/man man builtin hash -p /usr/bin/free free # 我们执行hash -t cat,加参数-t再加某条命令就可以查看这条命令在hash表中命令的路径 [[email?protected] home]#hash -t cat /usr/bin/cat # 我们执行hash -d cat,加参数-d再加某条命令就可以清除这条命令在hash表中命令的路径 centos7 home]#hash -d cat [[email?protected] home]#hash -l builtin hash -p /usr/bin/pwd pwd builtin hash -p /usr/bin/bash bash builtin hash -p /usr/bin/echo echo builtin hash -p /usr/bin/vim vim builtin hash -p /usr/bin/sh sh builtin hash -p /usr/bin/man man builtin hash -p /usr/bin/free free # 我们执行hash -r,加参数-r是清除在hash表中所有命令的路径 [[email?protected] home]#hash -r [[email?protected] home]#hash hash: hash table empty hostname命令# hostname用以显示或设置系统的主机名称。 [[email?protected] home]#hostname centos7.magedu.sun.com # 参数选项 -s: --short 短主机名 -a: --alias 别名 -i: --ip-address IP地址 -f: --fqdn,--long 长主机名 -d: --domain DNS域名 -y: --yp,--nis NIS/YP域名 -v: 运行时,显示详细的处理过程 -F: --filename 读取指定文件 -h: --help 帮助信息 -V: --version 版本信息 halt命令# halt 在Linux里为关闭系统的命令 # 参数选项 -n : 在关机前不做将记忆体资料写回硬盘的动作 -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里 -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令 -i : 在关机之前先把所有网络相关的装置先停止 -p : 当关机的时候,顺便做关闭电源(poweroff)的动作 i开头的小命令init命令# 关机 [[email?protected] ~]#init 0 # 切换到命令行模式 [[email?protected] ~]#init 3 # 切换至图形化页面 [[email?protected] ~]#init 5 # 重启 [[email?protected] ~]#init 6 ip命令# 在linux系统可以查看ip地址信息的命令 # 其余的我还没学到,但是问了度娘后,感觉我太难了 # 下文中!<---ip地址在这里!,是我后期加的。 [[email?protected] home]#ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:79:c6:ce brd ff:ff:ff:ff:ff:ff inet 192.168.111.129!<---ip地址在这!/24 brd 192.168.111.255 scope global noprefixroute dynamic ens33 valid_lft 1389sec preferred_lft 1389sec inet6 fe80::e1d3:b8aa:accf:bf34/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:c1:d7:80 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:c1:d7:80 brd ff:ff:ff:ff:ff:ff id命令# id命令用于显示用户的ID,以及所属群组的ID。 # id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。 [[email?protected] home]#id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 # 参数选项 -g: --group 显示用户所属群组的ID。 -G: --groups 显示用户所属附加群组的ID。 -n: --name 显示用户,所属群组或附加群组的名称。 -r: --real 显示实际ID。 -u: --user 显示用户ID。 -help 显示帮助。 -version 显示版本信息。 l开头的小命令lsb_release命令# lsb_release -a 是用来查看linux版本信息的 # 如果是用不了,可以通过yum -y stall redhat-lsb安装这个命令的软件包,就可以正常使用了。 [[email?protected] home]#lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.7.1908 (Core) Release: 7.7.1908 Codename: Core ls命令# ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。 [[email?protected] /]#ls bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var # 参数选项 -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 "*",目录则加 "/" -R 若目录下有文件,则以下之文件亦皆依序列出 lscpu命令# lscpu命令可以显示CPU的详细信息 [[email?protected] /]#lscpu Architecture: x86_64 CPU op-mode(s): 32-bit,64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 2 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz Stepping: 10 CPU MHz: 2400.001 BogoMIPS: 4800.00 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K NUMA node0 CPU(s): 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities lsblk命令# lsblk命令默认情况下将以树状列出所有块设备 [[email?protected] /]#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 100G 0 part / ├─sda3 8:3 0 3G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 50G 0 part /data sdb 8:16 0 100G 0 disk sr0 11:0 1 10.3G 0 rom /run/media/root/CentOS 7 x86_64 # 解析方便理解 NAME :这是块设备名。 MAJ:MIN : 本栏显示主要和次要设备号。 RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。 SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。 RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。 TYPE : 本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 MOUNTPOINT :本栏指出设备挂载的挂载点。 logout命令# logout指令让用户退出系统,其功能和login指令相互对应 [[email?protected] /]#logout mv命令# mv命令用来为文件或目录改名、或将文件或目录移入其它位置。 # 将源文件名改为目标文件名 [[email?protected] ~]#mv file1 file2 # 将文件移动到目标目录 [[email?protected] ~]#mv file1 /data # 目标目录已存在,将源目录 移动到目标目录 [[email?protected] data]#ll total 0 drwxr-xr-x. 2 root root 6 Sep 21 13:40 sun drwxr-xr-x. 2 root root 6 Sep 21 13:39 sun1 [[email?protected] /]#mv /data/sun /data/sun1 [[email?protected] /]#cd /data [[email?protected] data]#ll total 0 drwxr-xr-x. 3 root root 17 Sep 21 13:41 sun1 [[email?protected] data]#ll sun1 total 0 drwxr-xr-x. 2 root root 6 Sep 21 13:40 sun # 目标目录不存在则改名 [[email?protected] data]#mkdir sun [[email?protected] data]#mv /data/sun /data/sun2 [[email?protected] data]#ll total 0 drwxr-xr-x. 3 root root 17 Sep 21 13:41 sun1 drwxr-xr-x. 2 root root 6 Sep 21 13:42 sun2 n开头的小命令nano命令# nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上-w选项吧。 [[email?protected] ~]#nano -w .bashrc p开头的小命令poweroff命令# poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应。 [[email?protected] ~]#poweroff pwd命令# pwd是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径。 [[email?protected] ~]#pwd /root # 参数选项 -L:--logical, 显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式) -p:--physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件。 当包含多层连接文件时,显示连接文件最终指向的文件。 --help: 显示帮助信息。 --version: 显示版本信息。 q开头的小命令quit命令# quit命令是起到从容退出的 r开头的小命令runlevel命令# runlevel命令是显示上次所处的以及目前的用户模式 [[email?protected] ~]#runlevel N 5 reboot命令# reboot命令用于用来重新启动计算机 [[email?protected] ~]#reboot # 参数选项 -n : 在重开机前不做将记忆体资料写回硬盘的动作 -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里 -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令 -i : 在重开机之前先把所有网络相关的装置先停止 s开头的小命令sudo命令# sudo可以使其他用户临时拥有固定用户的权限 # 并且sudo需要你输入的是当前用户的密码,而并不是根密码 [[email?protected] ~]#reboot reboot:must be superuser [[email?protected] ~]#sudo reboot [sudo] password for rudy: t开头的小命令tty命令# tty命令用于显示终端机连接标准输入设备的文件名称 [[email?protected] ~]$tty /dev/pts/0 type命令# 一般命令的类型可以是如下几种: alias 别名 keyword 关键字,Shell保留字 function 函数,Shell函数 builtin 内建命令,Shell内建命令 file 文件,磁盘文件,外部命令 unfound 没有找到 # type命令用来显示指定命令的类型 [[email?protected] ~]$type echo echo is a shell builtin # 参数选项 type -a 可以显示所有可能的类型,比如有些命令如pwd是shell内建命令,也可以是外部命令。 type -p 只返回外部命令的信息,相当于which命令。 type -f 返回shell函数的信息。 type -t 只返回指定类型的信息。 u开头的小命令unalias命令# unalias命令用于删除别名。 # unalias为shell内建指令,可删除别名设置 unalias [-a] name [name ...] -a 取消所有别名 # 如果别名同原命令同名,如果要执行原命令,可使用 ALIASNAME “ALIASNAME” ‘ALIASNAME’ command ALIASNAME /path/commmand w开头的小命令who命令# who命令显示关于当前在本地系统上的所有用户的信息 [[email?protected] ~]$who sun :0 2019-09-21 14:31 (:0) sun pts/0 2019-09-21 14:31 (:0) whoami命令# whoami命令用于显示自身用户名称。 显示自身的用户名称,本指令相当于执行"id -un"指令 [[email?protected] ~]$whoami sun who am i命令# who am i显示的是“登录用户”的用户名(用户登录时用过的id) [[email?protected] ~]$who am i sun pts/0 2019-09-21 14:31 (:0) 今天就分享到这吧!(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |