Linux 操作系统基本命令及其使用

ip add     查看IP地址

ls          查看当前文件夹里有哪些文件或者文件夹

选项:

         -l    long-format 详细信息,以长格式显示
        -a    all   显示所有文件夹里的内容
        -A   all ,类似于“-a”,但不显示“.”和“..”目录的信息
        -h    以更易读的字节单位(K、M等)显示信息

        -t    按文件修改时间进行排序

        -r    将目录的内容清单以英文字母顺序的逆序显示

        -d  显示文件夹本身的属性

       -R   递归显示内容

pwd    显示当前所在的路径

选项:

-P  提供所有的符号链接

[root@scmaster bin]# pwd
/bin
[root@scmaster bin]# pwd -P
/usr/bin

cd     进入文件夹

cd   lou      进入lou文件夹

cd   ..        返回上一级文件夹

拓展:

. 开头的文件或者文件夹是隐藏文件

.  当前目录

..  上一级目录

mkdir    新建文件夹

mkdir   lou     新建luo文件夹

选项:

-p      1.如果父目录不存在就新建   2.如果文件夹存在就不报错

touch    新建空文件

touch   lou.txt     新建lou.txt新文件(文本文档)

touch     lou{1..20}.txt    新建20个空文件,{1..20}表示1到20的集合

useradd   新建用户

useradd     zhou      新建zhou用户

passwd     给用户设置密码

passwd    zhou      给zhou这个用户设置密码

groupadd   新建组

groupadd    nongda     新建nongda组

man   查询命令的使用手册,按q退出

man   mkdir       查看mkdir这条命令的使用手册

su     切换目录

[root@sc ~]# su  -  huang 切换用户到huang
上一次登录:二 9月 20 19:43:04 CST 2022tty1 上

su 接-和不使用-选项的区别

- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。

环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命令无法正确执行。

hostname    查看主机名

[root@localhost china]# hostname
localhost.localdomain

[root@localhost china]# hostnamectl  set-hostname  zhou   修改主机名为zhou

ll    等价于“ls -l”命令

用于以长格式显示目录下的内容列表;输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等

选项:
        -h   也可以查看文件的大小,并且以人类能够看懂的单位显示

[root@scmaster helloworld]# ll /
总用量 20
lrwxrwxrwx.   1 root root    7 9月  22 19:14 bin -> usr/bin
[root@scmaster helloworld]# ll /dev/tty1
crw--w---- 1 root tty 4, 1 9月  25 08:44 /dev/tty1

rpm    linux里的软件管理的命令

选项:

-qf  查询某个文件是通过哪个软件安装过来的(查询的是已经在你的机器里安装了的)

-ql   查询软件安装到哪里了

[root@scmaster ~]# rpm -qf /usr/sbin/ip  查看ip这个命令是通过哪个软件安装过来的
iproute-4.11.0-30.el7.x86_64

拓展:

yum也是linux里软件管理的命令,但是yum比rpm高级,yum底层也是使用rpm命令去进行软件管理的

yum    linux里软件管理的命令

[root@nfs-server lianxi]# yum install  vim -y  安装vim编辑器

[root@localhost find]# yum provides  locate  查看locate这个命令是哪个软件包提供的

cat       输出文件里的内容

选项:

-n     输出文件里的内容,并且进行编号,相当于nl,nl = cat -n

[root@scmaster sc2]# cat -n passwd  
     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/nolog
[root@scmaster sc2]# nl  passwd 
     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

注:nl 和cat -n 的区别: nl不会给空行编号,而cat  -n 会给空格编号

[root@sanchuang ~]# cat -n /etc/ssh/sshd_config |head -8
     1    #    $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $
     2    
     3    # This is the sshd server system-wide configuration file.  See
     4    # sshd_config(5) for more information.
     5    
     6    # This sshd was compiled with PATH=/usr/local/bin:/usr/bin
     7    
     8    # The strategy used for options in the default sshd_config shipped with

file     查看文件的类型

empty  空文件
directory  目录

[root@nfs-server lianxi]# file sc.txt
sc.txt: empty
[root@nfs-server lianxi]# file feirx
feirx: directory

stat     显示文件的状态信息

df      检查文件系统的磁盘空间占用情况

wc    统计文件的行,字节数,单词

[root@sanchuang ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@sanchuang ~]# cat /etc/hosts|wc
      2      10     158

mv      移动文件或者文件夹

作用:

1.移动(剪切)move  文件可以移动到文件夹里  后面接的文件夹都存在

[root@nfs-server lianxi]# mv liquan  xiaowei
[root@nfs-server lianxi]# ls
boot  feirx  meinv.jpg  passwd  sc.txt  xiaowei
[root@nfs-server lianxi]# ls xiaowei
liquan

2.重命名,后面接的文件夹不存在就是改名 , 文件和文件夹都可以重命名

[root@nfs-server lianxi]# ls
boot  feirx  meinv.jpg  passwd  sc.txt  xiaowei
[root@nfs-server lianxi]# mv xiaowei weiwei
[root@nfs-server lianxi]# mv passwd   sc_passwd
[root@nfs-server lianxi]# ls
boot  feirx  meinv.jpg  sc_passwd  sc.txt  weiwei

alias    查看linux里已经有哪些别名(简写)

定义别名

[root@scmaster helloworld]# alias  c='clear'  

定义c是clear的别名-->临时定义

clear是linux系统里已经存在的命令
c是自定义的命令,但是注意别名不要和系统里已经存在的命令冲突,不然会导致已经存在的命令不可用
别名的优先级比较高,shell解释器会优先使用别名

取消别名c

[root@scmaster helloworld]# unalias c  取消别名c

永久定义别名,永久生效

[root@scmaster helloworld]# vim  /root/.bashrc

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias c='clear'      #添加
alias mk='mkdir -p'  #添加

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

[root@scmaster helloworld]# su  需要重新登录,写到文件里的别名就会生效

永久取消别名

[root@scmaster helloworld]# vim /root/.bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#alias c='clear'
#alias mk='mkdir -p'


加注释,取消定义别名
[root@scmaster helloworld]# su  需要重新登录,写到文件里的别名就会生效

rm     删除文件或文件夹

选项:

        -r  递归删除文件夹里的子文件或者子文件夹

        -f  强制删除,不给与提醒

例子:

        rm  -rf  liquan.txt    ,rm是命令,-rf是选项,liquan.txt是参数,即具体删除的对象

        rm   -rf    liquan*  , *是通配符,代表任意个字符,即所有含有*的文件夹或者文件夹都会被删除

注:rm命令非常危险,删除东西的时候,思考一下,是否还需要

cp      复制文件夹或者文件

[root@scmaster sc2]# cp   /etc/passwd     .
                                        原文件           当前目录

选项:

-r    复制文件夹的时候,需要接,将文件夹里的子文件夹,子文件夹里的子文件都复制过去

[root@sanchuang changsha]# cp -r hunan beijing
[root@sanchuang changsha]# ls beijing
hunan
[root@sanchuang changsha]# cd beijing
[root@sanchuang beijing]# ls
hunan

复制多个文件夹

[root@sanchuang changsha]# cp -r beijing hunan hubei
[root@sanchuang changsha]# cp /boot/*   /changsha/hunan -r  将/boot文件夹下的所有的文件和文件夹都复制到/changsha/hunan文件夹里

复制多个文件到一个文件夹里

[root@sanchuang changsha]# cp feng1.txt feng2.txt  hunan
[root@sanchuang changsha]# ls hunan
feng1.txt  feng2.txt  hosts

使用绝对路径复制文件

[root@sanchuang changsha]# cp /changsha/feng1.txt  /yueyang/
[root@sanchuang changsha]# ls /yueyang
feng1.txt

复制,粘贴,重命名 一步到位

[root@sanchuang changsha]# cp /changsha/feng1.txt  /yueyang/fengdeyong.txt

du    查看文件或者文件夹的大小

选项:

        -s    汇总的大小

        -h    以人类能够读懂的格式显示大小

[root@nfs-server bin]# du -sh /usr/bin/mkdir
80K    /usr/bin/mkdir
[root@nfs-server bin]# du -sh /usr
1.9G    /usr
[root@nfs-server bin]# du -sh /etc
32M    /etc

curl     是字符界面的浏览器

选项:

        -O (大写的)      下载文件,下载完成的文件存放在当前的目录下

例子:curl -O https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz

ln   为某一个文件在另外一个位置建立一个同步的链接

选项:

-s   -s或--symbolic  对源文件建立软链接(符号连接),而非硬连接

[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root root  96 5月  18 10:15 color.sh
-rw-r--r--. 1 root root 156 5月  14 17:00 log1.txt
-rw-r--r--. 1 root root 592 5月  14 17:00 log2.txt
-rw-r--r--. 1 root root 655 5月  14 17:06 log3.txt
-rw-r--r--. 1 root root 156 5月  18 14:32 log4.txt
-rw-r--r--. 1 root root 272 5月  18 14:28 log.txt
[root@localhost test]# ln -s color.sh linkcolor    为color.sh文件创建软链接linkcolor,如果color.sh丢失,linkcolor将失效
[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root root  96 5月  18 10:15 color.sh
lrwxrwxrwx. 1 root root   8 5月  18 14:57 linkcolor -> color.sh
-rw-r--r--. 1 root root 156 5月  14 17:00 log1.txt
-rw-r--r--. 1 root root 592 5月  14 17:00 log2.txt
-rw-r--r--. 1 root root 655 5月  14 17:06 log3.txt
-rw-r--r--. 1 root root 156 5月  18 14:32 log4.txt
-rw-r--r--. 1 root root 272 5月  18 14:28 log.txt

which     主要用来查找命令存放的路径(到PATH变量定义的路径下查找的)

[root@nfs-server lianxi]# which mkdir
/usr/bin/mkdir
[root@nfs-server lianxi]# which cpy
/usr/bin/which: no cpy in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

PATH变量定义了which命令去哪些文件夹里查找命令
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

linux里查找命令的时候,从PATH变量定义的路径里,先从左边开始查找,如果找到,就不往后面找了,如果没有找到,从下一个开始找,以此类推

whereis    查找命令的路径(到PATH变量定义的路径下查找的)

[root@nfs-server ~]# whereis mkdir
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz
[root@nfs-server ~]# whereis hello
hello: /usr/local/bin/hello /zhouxin/hello.c /zhouxin/hello

locate    到mlocate.db文件里去查找整个linux系统有哪些文件或者文件夹

[root@nfs-server ~]# updatedb
updatedb 命令会帮助我们去创建/var/lib/mlocate/mlocate.db,是根据整个linux系统里有的文件去生成的一个数据库文件

head   取文件的前多少行,默认是前10行

[root@sanchuang ~]# head  -5  /etc/passwd  读取文件/etc/passwd文件的前5行内
[root@sanchuang ~]# head -n 5 /etc/passwd  读取文件/etc/passwd文件的前5行内
[root@sanchuang ~]# head  /etc/passwd  读取文件/etc/passwd文件的前10行内容

tail      从文件的末尾开始读取内容,默认是读取文件的最后10行

[root@sanchuang ~]# tail  -5  /etc/ssh/sshd_config 
#Match User anoncvs
#    X11Forwarding no
#    AllowTcpForwarding no
#    PermitTTY no
#    ForceCommand cvs server
[root@sanchuang ~]# tail  -n 5  /etc/ssh/sshd_config 
#Match User anoncvs
#    X11Forwarding no
#    AllowTcpForwarding no
#    PermitTTY no
#    ForceCommand cvs server

tail -n +2 从第2行开始到末尾 ---》优势:可以去掉第1行,标题行
tail -n -2 取最后2行
tail -n 2 取最后2行
tail -2 取最后2行

echo     输出命令

echo 123456

env    查看linux系统里定义的环境变量

ping    测试机器是否能与其他机器或者网站通信

[root@feng changsha]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
^C64 bytes from 14.215.177.39: icmp_seq=1 ttl=128 time=17.3 ms

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 17.395/17.395/17.395/0.000 ms
[root@feng changsha]# 

top    显示linux系统里的cpu,内存,进程的信息

默认的进程排序是根据cpu的使用率,按q退出

ps aux       查看linux系统里的进程的信息

拓展:ps -aux|more
| 管道符号:  作用是将前面一个命令的输出送给后面一个命令作为输入,本质上实现了2个进程之间的通信,管道(pipe)是进程和进程之间通信的一种方式

\ 转义字符:作用就是在shell解释器解释的时候,有些特殊的字符,取消它的特殊作用

[root@nfs-server liquan]# echo \$sg
$sg
[root@nfs-server liquan]# echo \*
*

tee      在屏幕上输出,同时也写到文件里

-a或--append  附加到既有文件的后面,而非覆盖它 

[root@localhost lianxi]# echo 123456 |tee  5.txt
123456
[root@localhost lianxi]# ls
1  1.txt  2.txt  3.txt  4.txt  5.txt  feiruixi.txt  liuzz.txt  sc  xiajingwei  zhaoyujia
[root@localhost lianxi]# cat 5.txt 
123456

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值