Linux基础命令之总结一

时间:2021-03-09 04:56:31

[root@ping ~]# tree -L 1 /   
#使用tree 命令查看根目录下的一层的目录结构

ls - list directory contents
[root@ping ~]# ls -l /
以长格式显示文件和目录的信息
[root@ping ~]# ls -d /
显示目录和文件
[root@ping ~]# ls -d /*
根目录下的所有的目录和文件

cd - Change the shell working directory
[root@ping ~]# cd -
上次一次所在的目录
[root@ping /]# cd .
当前目录
[root@ping ~]# cd ..
这个目录的上一次目录
[root@ping /]# cd ~
当前用户的家目录

pwd -   Print the name of the current working directory.
[root@ping ~]# pwd
查看当前所处的目录

cp - copy files and directories
[root@ping ~]# cp
拷贝文件或目录

alias - Define or display aliases
[root@ping ~]# alias rm ="mv"
定义别名alies 为mv 命令

unalias - Remove each NAME from the list of defined aliases
[root@ping ~]# alias
alias -rf='you want remvoe files or directories to mv'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
[root@ping ~]# unalias mv
取消mv这个别名

cat - concatenate files and print on the standard output
[root@ping ~]# cat -n /root/.bashrc
查看文件内容并列出行号

find - search for files in a directory hierarchy
option:!取反、-a(and)并且、-o(or)
[root@ping ~]# find / -type f -name "useradd"
查找根目录下文件类型为文本文件并且包含名字是"useradd" 的文件路径

head - output the first part of files
[root@ping ~]# head /etc/services
默认查看文件前十行内容

tail - output the last part of files
[root@ping ~]# tail /etc/passwd
默认查看文件后十行内容
[root@ping ~]# tail -f /var/log/messages
查看文件动态更新的内容

rpm - RPM Package Manager
[root@ping ~]# rpm -ivh /mnt/Packages/elinks.el6_3.x86_64.rpm
安装显示输出rpm软件包情况
[root@ping ~]# rpm -qa | grep mysql
查看当前系统安装关于"mysql"的rpm包名

yum - Yellowdog Updater Modified
[root@ping ~]# yum -y install ftp
用yum安装ftp管理工具
[root@ping ~]# yum grouplist  
查看当前系统已经安装和可以安装的包组
[root@ping ~]# yum -y groupinstall PostgreSQL 数据库服务器
向当前系统中安装一组软件包
[root@ping ~]# yum info
显示关于软件包或组的详细信息
[root@ping ~]# yum groupinfo
查看yum和各个参数的详细信息
[root@ping ~]# yum serache all
 在软件包详细信息中搜索指定字符串

seq - print a sequence of numbers
[root@ping ~]# seq 5
生成序列从1到5的数字
[root@ping ~]# seq 3 5
生成序列从3到5的数字
[root@ping ~]# seq 3 3 10
生成序列3到10中间隔多少个数字
[root@ping ~]# seq -s "" 5
12345
-s指定分隔符为空
[root@ping ~]# seq -w 10
生成两位数的数字并对齐

hostname - show or set the system’s host name
[root@ping ~]# hostname
ping
显示系统主机名

uname - print system information
[root@ping ~]# uname -r
2.6.32-573.el6.x86_64
显示当前系统的内核版本和操作系统位数
[root@ping ~]# uname -a
Linux ping 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
显示当前系统的所有版本信息
[root@ping ~]# uname -m
x86_64
显示当前系统的操作系统位数

whoami - print effective userid
[root@ping ~]# whoami
root
查看当前登录系统的用户名

su - run a shell with substitute user and group IDs
[root@ping ~]# su - ping
切换普通用户为ping

logout -  Exit a login shell
[root@ping ~]# logout
退出当前登录shell

history - Display or manipulate the history list
[root@ping ~]# history
查看当前用户输入命令的历史记录
[root@ping ~]# history -d 122
指定122行的命令历史记录清除
[root@ping ~]# history -c
清除当前用户输入命令所有历史记录

runlevel - output previous and current runlevel
[root@ping ~]# runlevel
N 3
查看当前系统的运行级别

init - Upstart process management daemon
[root@ping ~]# init 5
切换当前系统的运行级别

chkconfig  -  updates  and queries runlevel information for system services
[root@ping ~]# chkconfig sshd on
使ssh服务开机自启动
[root@ping ~]# chkconfig --list sshd
查看ssh服务在每一个运行级别是否为开机自启动

which - shows the full path of (shell) commands
[root@ping ~]# which ps
搜索ps命令的绝对路径

whereis  -  locate the binary, source, and manual page files for a com-mand
[root@ping ~]# whereis jobs
搜索命令的文件所在的绝对路径
[root@ping ~]# whereis -b ping
只搜索命令的二进制文件的绝对路径

开户网卡和重新读取配置文件
[root@ping ~]# ifdown eth0 && ifup eth0  ==》  [root@ping ~]# /etc/init.d/network reload

blkid - command-line utility to locate/print block device attributes
[root@ping ~]# blkid
查看当前系统块设备的UUID号

BASH_BUILTINS(1)
 alias, bg, bind, break, builtin, caller, cd, command,
 compgen, complete, compopt,  continue,  declare,  dirs,  disown,  echo,enable,  eval,  exec, exit, export, false, fc, fg, getopts, hash, help,history, jobs, kill, let, local, logout, mapfile, popd, printf,  pushd,pwd,  read, readonly, return, set, shift, shopt, source, suspend, test,times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait
#Linux中所有的内置命令,我们说which只能在PATH变量中搜索命令的绝对路径,内置命令是内置在bash中的,所以我们找不到

[root@ping ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0    #《==物理设备名,eth1表示第2块网卡
ONBOOT=yes       #《==控制网卡是否为开机自启动
NM_CONTROLLED=yes  #《==是一个可以让networkmanage管理的工具
BOOTPROTO=none     #《==其中,proto取下列值这一:none,引导时不使用              协议;static静态分配地址;bootp,使用bootp协议
              使用dhcp协议
IPADDR=192.168.114.5 #《==ip address是IP地址
netmask=255.255.255.0  #《==子网掩码,划分网络位和主机位。

resolv.conf  - resolver configuration file
[root@ping ~]# cat /etc/resolv.conf
#DNS的客户端文件,DNS在网卡的文件中也可以配置
[root@ping ~]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 202.106.0.20
#一般最好配置两个DNS,一个主,一个备
# 不要配置网卡里设置DNS优先于/etc/resolv.conf

小结:
1、客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)
2、客户端DNS也可以在/etc/resolv.conf里设置
3、网卡里的设置DNS优先于/etc/resolv.conf

hosts - The static table lookup for hostnames
[root@ping ~]# cat /etc/hosts
#设定用户IP与名字(或域名)的对应解析表,相当于本地LAN局域网内的DNS

对应windows的文件路径:C:\Windows\System32\drivers\etc\hosts
/etc/hosts:局域网 主机名和ip地址的解析,相当于DNS工具

hosts企业里的作用:
1.开发、产品、测试等人员,用于通过正式的域名测试产品
2.服务器之间的调用可以用域名(内部DNS),方便迁移

[root@ping ~]# cat /etc/sysconfig/network
#配置主机的主机名的配置文件

fstab - static information about the filesystems 
[root@ping ~]# cat /etc/fstab
设置文件系统挂载信息的文件,使得开机自动挂载磁盘分区
 
 The third field:such as adfs, affs, autofs,coda, coherent, cramfs, devpts, efs, ext2, ext3,  hfs,  hpfs,  iso9660,jfs,  minix,  msdos,  ncpfs,  nfs,  ntfs,  proc, qnx4, reiserfs, romfs,smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix,  xfs,  and  possiblyothers.
包含了所有的Linux文件系统类型

df - report file system disk space usage
[root@ping ~]# df -h
#以人类可读的信息查看磁盘挂载信息

mount - mount a filesystem
[root@ping ~]# mount
查看当前系统中所使用的文件系统类型
[root@ping ~]# mount -t ext4 -o loop,noatime,noexec /dev/sdb1 /mnt
-o 参数:noatime,noexec不改变时间戳,不改变命令

手动挂载一个文件系统
挂载:
1.命令
[root@ping ~]# mount -t ext4 -o noexec /dev/sdb1 /mnt
2.文件
[root@ping ~]# vim /etc/fstab

dd - convert and copy a file
[root@ping ~]# dd if=/dev/zero of=/dev/sdb1 bs=4096 count=10
生成一个文件系统

mke2fs - create an ext2/ext3/ext4 filesystem
[root@ping ~]# mkfs.ext4 /dev/sdb1
格式化文件系统/dev/sdb1

测试手动挂载:
1.创建一个虚拟的块设备
dd if=/dev/zero of=/dev/sdb1 bs=4906 count=100
2.格式化
mkfs.ext4 /dev/sdb1
3.挂载
mount -t ext4 -o loop,noatime,noexec /dev/sda1 /mnt

fsck - check and repair a Linux file system
[root@ping ~]# fsck -A /dev/sda
磁盘检查(不要检查好磁盘),卸载的状态检查