Linux || 基本命令详解

mkdir 新建目录

-p 选项:可供选项的项目,可接可不接,有特殊的作用
    短选项(短格式)-p --》推荐使用
    长选项(长格式)--parents

-p, --parents
              no error if existing, make parent directories as needed
              1.如果文件夹存在不报错
              2.如果文件夹不存在就新建

父文件夹和子文件夹
父文件夹--》上一级文件夹
子文件夹--》文件夹里面的文件夹

root@nginx:~/lianxi# mkdir wei
mkdir: cannot create directory ‘wei’: File exists

root@nginx:~/lianxi# ls
wei

root@nginx:~/lianxi# mkdir wei -p
root@nginx:~/lianxi# 

ls  查看文件夹里的内容 list

    -l 显示详细信息
    -A 显示所有的文件和文件夹,包括隐藏文件,显示.和..
    -a 显示所有的文件和文件夹,包括隐藏文件,不显示.和..
    -h 以人类能够识别的单位显示
      --human-readable
       with -l, print sizes in human readable format (e.g., 1K 234M 2G)
    -t 根据文件的创建时间排序
    -r 根据文件名的首字母的ASCII码值进行降序排列 --reverse 相反的
    -d 显示目录本身的属性,不显示里面的文件夹或者文件的属性 directory

root@nginx:~/lianxi# ls -l
total 4
-rw-r--r-- 1 root root    0 Sep 12 11:45 a.txt
drwxr-xr-x 2 root root 4096 Sep 12 11:44 wei

root@nginx:~/lianxi# ls -a
.  ..  a.txt  wei

root@nginx:~/lianxi# ls -A
a.txt  wei

root@nginx:~/lianxi# ls -h
a.txt  wei

root@nginx:~/lianxi# ls -alh
total 12K
drwxr-xr-x 3 root root 4.0K Sep 12 11:45 .
drwx------ 9 root root 4.0K Sep 12 11:43 ..
-rw-r--r-- 1 root root    0 Sep 12 11:45 a.txt
drwxr-xr-x 2 root root 4.0K Sep 12 11:44 wei

root@nginx:~/lianxi# ls -Alh
total 4.0K
-rw-r--r-- 1 root root    0 Sep 12 11:45 a.txt
drwxr-xr-x 2 root root 4.0K Sep 12 11:44 wei

选项可以组合,基本上不分先后顺序,可以简写:

    [root@sc /]# ls -l -A

    [root@sc /]# ls -A -l

    [root@sc /]# ls -Al

    [root@sc /]# ls -lA

touch 新建空文件

    用途:
        1.新建空文件如果不存在就新建

        2.更新文件的创建时间

root@nginx:~/lianxi# ls
a.txt  wei

root@nginx:~/lianxi# touch b.txt
root@nginx:~/lianxi# ls
a.txt  b.txt  wei

root@nginx:~/lianxi# touch a.txt
root@nginx:~/lianxi# ls
a.txt  b.txt  wei

stat 显示文件的状态信息

root@nginx:~/lianxi# stat a.txt
  File: a.txt
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fc02h/64514d    Inode: 665310      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-09-12 11:48:06.680516790 +0800
Modify: 2022-09-12 11:48:06.680516790 +0800
Change: 2022-09-12 11:48:06.680516790 +0800
 Birth: -

linux里的文件有3个时间

  1.access time --》atime 访问时间  --》你查看了文件里的内容   vim,cat
  2.change time --》ctime 改动时间 --》改动了文件的属性,  例如用户,组,权限,大小,时间,文件名等
  3.modify time  --》mtime 修改时间 --》修改文件里的内容

cd 从当前的目录到另外一个目录--》进入文件夹
    Change the current directory to dir.

cd . 进入当前目录
cd .. 返回到上一级目录
cd - 返回到上一次所在的目录
cd ~ 进入家目录
cd      进入家目录
cd ~chenyamin     进入chenyamin家目录
cd /     进入根目录

rm  删除命令  remove    删除当前目录下的所有的文件和文件夹,但是不会删除隐藏文件

-rf  选项:强制删除文件

  -r  递归删除 
  -r, -R, --recursive
              remove directories and their contents recursively

  -f  强制删除不给任何提醒

         -f, --force
              ignore nonexistent files and arguments, never prompt

[root@localhost canchuang]# rm -rf shanghai

[root@localhost canchuang]# ls
beijing  changsha  shenzhen

su - root  切换到root用户 

  substitute user 替换用户
  su 是切换用户的命令
  - 是选项:有特殊作用的字符
  root 具体切换到的用户

切换用户可以理解为使用另外一个用户登录进入linux系统

ubuntu@nginx:~$ su - root
Password: 
root@nginx:~# 

alias  定义别名 ----临时定义

alias lu='ls -l -a --color=auto'     自己定义一个别名。     注意:别名不能和已经存在的命令冲突,不然会导致原来系统里的命令失效

永久设置别名

修改/root/.bashrc文件

[root@sc ~]# vim /root/.bashrc
alias lk='ls -a -l -h --color=auto'
alias c='clear'
alias kk='mkdir -p'

让写到文件里的别名生效的方法:

    1.重启系统
        reboot
    2.重新登录
        su - root

du 用来看文件或者文件夹的大小

    -s 汇总后的大小 sum
    -h 以人类可以识别的格式显示,k,M,G
    -a 统计每一个文件的大小 all

[root@localhost boot]# du -sh grub2
5.5M    grub2

查看文件大小的方法:

    1.du --》推荐
        du -sh 会统计文件夹的大小
    2.ll - h --》不能自动统计整个文件夹的大小

root@nginx:/usr# ll -h
drwxr-xr-x  14 root root 4.0K Apr 23  2020 ./
drwxr-xr-x  21 root root 4.0K Sep 12 11:18 ../
drwxr-xr-x   2 root root  56K Sep 10 15:01 bin/
drwxr-xr-x   2 root root 4.0K Apr 15  2020 games/
drwxr-xr-x  47 root root  16K Sep 10 15:01 include/
drwxr-xr-x  92 root root 4.0K Sep 10 15:01 lib/
drwxr-xr-x   2 root root 4.0K Apr 23  2020 lib32/
drwxr-xr-x   2 root root 4.0K Apr  7 19:51 lib64/
drwxr-xr-x   4 root root 4.0K Aug 30 18:48 libexec/
drwxr-xr-x   2 root root 4.0K Apr 23  2020 libx32/
drwxr-xr-x  12 root root 4.0K Sep 10 15:02 local/
drwxr-xr-x   2 root root  20K Sep 10 23:27 sbin/
drwxr-xr-x 163 root root 4.0K Sep 10 15:01 share/
drwxr-xr-x   5 root root 4.0K Jul  5 17:02 src/

root@nginx:/usr# du -sh lib
1.6G    lib

cp 复制文件和文件夹 copy

对文件的操作
  1.复制单个文件到文件夹

[root@feng lianxi]# cp  he.txt   changsha
                                # 源文件       目的地
[root@feng lianxi]# tree
.
|-- changsha
|   `-- he.txt
`-- he.txt

1 directory, 2 files

2.复制多个文件到文件夹

[root@feng lianxi]# cp feng1.txt  feng2.txt  changsha
                              #  多个源文件

复制粘贴一步到位

[root@localhost boot]# cp changsha.txt cs.txt

对文件夹的操作
3.复制单个文件夹到文件夹

[root@feng lianxi]# cp -r  changsha  wangwl

  替换文件的问题:

    1. -i选项
    -i, --interactive 交互式方式
              prompt before overwrite (overrides a previous -n option)  替换之前给予提醒

   [root@feng lianxi]# alias
    alias cp='cp -i'

  [root@feng lianxi]#unalias cp  # 取消别名

    2.使用cp命令的绝对路径

查询cp命令存放在哪个文件夹里--》路径

  [root@feng lianxi]# which  cp  
  /usr/bin/cp

4.复制多个文件夹到文件夹

[root@feng lianxi]# cp changsha abc abcd    hunan -r
                              # 前面的都是源文件   最后是目的地

[root@feng lianxi]# cp a* tiannannan -r

5.复制粘贴重命名一步到位

[root@feng lianxi]# cp changsha tiannannan/cs -r
                            #  将changsha复制到tiannannan文件夹里改名cs

解决提醒的问题:

    1.取消别名 --》不推荐
        unalias cp
    2.使用绝对路径 --》推荐
    [root@localhost boot]# which cp
      alias cp='cp -i'
        /usr/bin/cp 

mv 可以实现2个功能

    1.移动文件 --》将文件夹或者文件从一个地方移动到另外一个地方 --》剪切
        后面接的文件夹如果存在,就是移动
    2.重命名文件
        后面接的文件夹如果不存在,就是重命名

1.移动单个文件和文件夹
2.移动多个文件夹和文件

root@nginx:~/lianxi# ls
a.txt  b.txt  changsha

root@nginx:~/lianxi# mv a.txt changsha

root@nginx:~/lianxi# tree changsha
changsha
└── a.txt

root@nginx:~/lianxi# mv b.txt c.txt changsha

root@nginx:~/lianxi# tree changsha
changsha
├── a.txt
├── b.txt
└── c.txt

root@nginx:~/lianxi# mv cheng changsha

root@nginx:~/lianxi# tree changsha
changsha
├── a.txt
├── b.txt
├── cheng
└── c.txt

3 directories, 1 file

root@nginx:~/lianxi# mv liu zhang changsha

root@nginx:~/lianxi# tree changsha
changsha
├── a.txt
├── b.txt
├── cheng
├── c.txt
├── liu
└── zhang

5 directories, 1 file

root@nginx:~/lianxi# ls
changsha

root@nginx:~/lianxi# mv changsha nongd

root@nginx:~/lianxi# ls
nongd

mv 是非常危险的命令,因为背后把文件挪走了,导致原来的位置没有文件

移动张贴改名字

[root@localhost lianxi2]# mv shanxi guangxi/jin  # 将shanxi移动到guangxi目录下改名为jin

[root@localhost lianxi2]# ls
guangxi  hunan

[root@localhost lianxi2]# ls guangxi/
jin

cat 查看文件里的内容

    -n  显示文件的内容和行号

[root@localhost lianxi]# cat -n xiong.txt
     1    12345
     2    lh
     3    smm
     4    wangs

[root@localhost lianxi]# cat test.sh xiong.txt
echo this is test
12345
lh
smm
wangs

nl  输出文件里的内容,并且进行编号

    nl - number lines of files

[root@jack lianxi2]# nl li.txt
     1    li zuo wen
     2    hunan yueyang
     3    linxiang
     4    linu1
     5    21

> 输出重定向:作用将本来在屏幕上输出的内容,转移(重定向)存储到文件里
    Linux系统里默认的输出方向是屏幕 标准的输出方向--》改变了它的输出方向--》重定向:重新定义了输出的方向

>> 追加输出重定向:作用将本来在屏幕上输出的内容,转移(重定向)存储到文件里,不覆盖里面的内容,只是在末尾
    追加,如果文件存在;不存在就新建

echo 123456 >sc.txt 将123456重定向到sc.txt文件里,如果sc.txt文件不存在就新建,如果存在就覆盖里面的内容

[root@localhost lianxi2]# more /etc/ssh/sshd_config
1.回车 :一次显示一行
2.空格 :一次显示一页 --》下一页
3.b    :上一页 back
4.q 退出 quit

wc 统计文件有多少行,单词,字节

wc - print newline, word, and byte counts for each file
           -l, --lines
              print the newline counts

[root@jack lianxi2]# wc -l /etc/passwd
49 /etc/passwd

tail  查看文件结尾的少部分内容(默认为10行)

格式:tail  -n  number 文件名
格式:tail  -数字   文件名          tail  -f  文件名  = tailfhead命令
用途:查看文件开头的一部分内容(默认为10行)
格式:head -n number 文件名
格式:head -数字  文件名

[root@jack lianxi2]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

取5-10行的内容

[root@jack lianxi2]# nl passwd|head |tail -6
     5    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6    sync:x:5:0:sync:/sbin:/bin/sync
     7    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8    halt:x:7:0:halt:/sbin:/sbin/halt
     9    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10    operator:x:11:0:operator:/root:/sbin/nologin

只取第8行

[root@jack lianxi2]# nl passwd|head -8 |tail -1
     8    halt:x:7:0:halt:/sbin:/sbin/halt

tail -f 动态监控某个文件,一直盯着这个文件的末尾查看,一旦有内容往文件里写入,马上就可以看到

[root@jack lianxi2]# tail -f zql.txt
123
hello, zql
hello, zql

在开一个终端,使用重定向追加内容到zql.txt里

[root@jack lianxi2]# echo 123 >zql.txt

[root@jack lianxi2]# echo "hello, zql" >>zql.txt

[root@jack lianxi2]# echo "hello, zql" >>zql.txt

tail -f 未来我们会监控一些日志文件,看日志文件的变化

日志文件:记录日志的文件
log:是电脑里的程序记录当时发生的事情到一个文件里,会记录时间,程序,发生事情--》方便排查故障

[root@jack log]# df |tail -n +2     # 从第二行开始,显示到末尾
devtmpfs              896500       0   896500    0% /dev
tmpfs                 916500       0   916500    0% /dev/shm
tmpfs                 916500   33452   883048    4% /run
tmpfs                 916500       0   916500    0% /sys/fs/cgroup
/dev/mapper/cl-root 17811456 3726936 14084520   21% /
/dev/sda1            1038336  196840   841496   19% /boot
tmpfs                 183300       0   183300    0% /run/user/0
[root@jack log]# df |tail -n 2         显示最后2行
/dev/sda1            1038336  196840   841496   19% /boot
tmpfs                 183300       0   183300    0% /run/user/0

[root@jack log]# df -Th     # 查看Linux里的磁盘分区的挂载使用
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  876M     0  876M    0% /dev
tmpfs               tmpfs     896M     0  896M    0% /dev/shm
tmpfs               tmpfs     896M   33M  863M    4% /run
tmpfs               tmpfs     896M     0  896M    0% /sys/fs/cgroup
/dev/mapper/cl-root xfs        17G  3.6G   14G   21% /
/dev/sda1           xfs      1014M  193M  822M   19% /boot
tmpfs               tmpfs     180M     0  180M    0% /run/user/0

一个分区就是一个盘
挂载:相当于Windows里的移动硬盘连接到系统里,系统给它分配一个盘符,这样我们就可以去使用移动硬盘里的数据了

第10行到20行

[root@jack lianxi2]# nl passwd|head -20|tail -11
    10    operator:x:11:0:operator:/root:/sbin/nologin
    11    games:x:12:100:games:/usr/games:/sbin/nologin
    12    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13    nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
    14    dbus:x:81:81:System message bus:/:/sbin/nologin
    15    systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
    16    systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
    17    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    18    polkitd:x:998:996:User for polkitd:/:/sbin/nologin
    19    unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    20    sssd:x:996:993:User for sssd:/:/sbin/nologin

===========rpm 是命令,软件管理的命令

-qf 查询文件的选项 query file
/usr/bin/bash  具体的文件

[root@wangxinzhou boot]# rpm -ql bash # 查询bash这个软件安装产生了哪些文件,都存放在哪里
# -ql  查询列出内容  query list
# bash 具体的软件包的名字

/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/alias
/usr/bin/bash
/usr/bin/bashbug
/usr/bin/bashbug-64
/usr/bin/bg
/usr/bin/cd
/usr/bin/command
/usr/bin/fc
/usr/bin/fg
/usr/bin/getopts
/usr/bin/hash
/usr/bin/jobs

ln 是创建链接文件的命令
  -s 创建软链接文件 --》快捷方式  software link

[root@fengdeyong china]# ln -s  hunan   xiang
                             #  源文件 链接文件

[root@fengdeyong china]# ll
总用量 0
-rw-r--r--. 1 root root  0 3月  21 15:09 a.txt
drwxr-xr-x. 2 root root  6 3月  21 15:05 hubei
drwxr-xr-x. 4 root root 37 3月  21 15:11 hunan
lrwxrwxrwx. 1 root root  5 3月  21 15:11 xiang -> hunan

Linux下我们一般使用“date -s”命令来修改系统时间。
如将系统时间设定成1999年12月9日的命令如下。
date -s 12/09/99 
将系统时间设定成下午2点18分9秒的命令如下。 
date -s 14:18:09
注意,这里说的是系统时间,是linux由操作系统维护的。
date的格式化输出日期

%Y  year
%m  month
%d  day
%H  hour
%M  minute
%S  second

[root@feng lianxi]# date  +%F
2021-03-28

[root@feng lianxi]# date  +%Y%m%d%H%M%S
20210328143844

[root@feng lianxi]# date
Sun Mar 28 14:38:59 CST 2021

[root@feng lianxi]# date  +%Y_%m_%d_%H_%M_%S
2021_03_28_14_41_46

[root@feng lianxi]# date  +%Y%m%d%H%M%S
20210328144225

查看root用户id号

[root@sc ~]#id root     
uid=0(root) gid=0(root) 组=0(root)

新建用户chen

[root@sanchuang ~]# useradd chen 

[root@sanchuang ~]# su - chen   # 切换用户chen

[chen@sanchuang ~]$ exit  # 退出用户--》注销
注销

passwd chen 设置密码

ehco 输出文本的内容
echo 相当于c语言printf

[root@sc ~]# echo 123456
123456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩未零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值