linux常用命令

 1.ls命令

linux常用命令

 

 

 

红色:表示hello.sh这个文件的所有者是root

绿色:表示hello.sh这个文件的所属组是root组。

分所有者和所有组是为了分配权限,rwxr-xr-x,中rwx的权限分配给所有者,即hello.sh这个文件,所有者root有读r,写w,执行x的权限,所属组root的权限是r-x,拥有读和执行的权限,不能写,r-x是分配给其他人,也只有读和执行的权限,也不能写。

ls -h:将文件的大小从字节变成m

root@ubuntu:/home/yanyanzhang/shell_study/sh# ll -h
total 12K
drwxr-xr-x 2 root root 4.0K May  3 15:57 ./
drwxr-xr-x 3 root root 4.0K May  3 16:46 ../
-rwxr-xr-x 1 root root   33 May  3 15:57 hello.sh*

 

ls-d:显示目录的信息

root@ubuntu:/home/yanyanzhang/shell_study/sh# ll -d /home/
drwxr-xr-x 9 root root 4096 Feb  4 17:26 /home//

 

ls -l:显示长信息 == ll

 

2.cd命令

cd - : 显示上次所在目录

root@ubuntu:/home/yanyanzhang/shell_study# cd -
/home/yanyanzhang/shell_study/sh

 

3.mkdir命令

mkdir -p:递归创建

root@ubuntu:/home/yanyanzhang# mkdir -p 11/22
root@ubuntu:/home/yanyanzhang/11/22# pwd
/home/yanyanzhang/11/22

 

 

4.rm命令

rm -rf 强制删除递归文件,删除就没有了

extundelete插件,可以帮助恢复误删的数据。

 

5.touch命令

创建新文件及修改文件时间

 

6. stat命令

查看文件的信息,修改时间,还是比较有用

root@ubuntu:/home/yanyanzhang/shell_study# stat count.sh 
  File: count.sh
  Size: 101           Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d    Inode: 565777      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-05-03 16:20:40.323253971 +0800  # 访问时间
Modify: 2021-05-03 16:20:24.262662082 +0800  # 数据修改时间
Change: 2021-05-03 16:20:33.643002162 +0800  # 状态修改时间,例如改权限
 Birth: -

 

 

7.cat命令

查看文件内容

root@ubuntu:/home/yanyanzhang/shell_study# cat count.sh 
#! /bin/bash

# args1
a=$1
# args2
b=$2
# must use double () for int plus int
sum=$((a+b))
echo $sum

 

-n 显示行号输出,常用

root@ubuntu:/home/yanyanzhang/shell_study# cat -n count.sh 
     1    #! /bin/bash
     2    
     3    # args1
     4    a=$1
     5    # args2
     6    b=$2
     7    # must use double () for int plus int
     8    sum=$((a+b))
     9    echo $sum

 

-A 显示所有的隐藏符号,排错有用

#! /bin/bash$
$  代表回车 ^table符
# args1$
a=$1$
# args2$
b=$2$
# must use double () for int plus int$
sum=$((a+b))$
echo $sum$

 

 

8. more命令

按页显示,空格向下翻页,b向上翻页,q退出,/字符串 搜索: 适合查看大文档内容

9. less命令

按行显示,上下箭头翻行,q退出。

10. head命令

显示文件头,默认10行,head -100 xxx.py 从头显示100行

11.tail命令

显示文件尾,默认10行, tail -100 xxx.py 从尾向上显示100行

-f :监听文件新增的数据,比较适合查看日志信息, 新增内容会在监听中显示,比较常用。

12.ln连接

硬链接:ln 源文件 新文件(不存在) ,新文件一定不要提前创建,硬链接会自动创建的。

root@ubuntu:/home/yanyanzhang/11# ln ../shell_study/count.sh count_ln.sh 
ln: failed to create hard link count_ln.sh: File exists
root@ubuntu:/home/yanyanzhang/11# ls
22  count_ln.sh
root@ubuntu:/home/yanyanzhang/11# rm -rf count_ln.sh 
root@ubuntu:/home/yanyanzhang/11# ln ../shell_study/count.sh count_ln.sh 
root@ubuntu:/home/yanyanzhang/11# ls
22  count_ln.sh

 

linux常用命令

 

给count.sh写入数据, 连接的新文件信息也增加了,相当于python中的对象多了一个引用而已。删除其中一个,另一个也可以正常使用,只是这个文件的引用数量少了1个而已。

root@ubuntu:/home/yanyanzhang/shell_study# echo "testteste" >> count.sh 
root@ubuntu:/home/yanyanzhang/shell_study# cat ../11/count_ln.sh 
#! /bin/bash

# args1
a=$1
# args2
b=$2
# must use double () for int plus int
sum=$((a+b))
echo $sum
testteste

 

缺点:不能给文件夹建立硬链接。标记不清,很难确认硬链接文件位置。不推荐使用

软连接:ln -s 

root@ubuntu:/home/yanyanzhang/11# ln -s ../shell_study/test01.sh test01_sn.sh
root@ubuntu:/home/yanyanzhang/11# ls
22  count_ln.sh  count.sh  test01_sn.sh
root@ubuntu:/home/yanyanzhang/11# ll -i ./test01_sn.sh ../shell_study/test01.sh 
565779 -rwxr-xr-x 1 root root 65 May  3 16:35 ../shell_study/test01.sh*
557055 lrwxrwxrwx 1 root root 24 May  3 19:35 ./test01_sn.sh -> ../shell_study/test01.sh*  # 软连接的标记非常清楚,建议使用软连接
root@ubuntu:/home/yanyanzhang/11# 

root@ubuntu:/home/yanyanzhang/11# cat test01_sn.sh
#! /bin/bash

echo "\$* is $*"
echo "\$@ is $@"
echo "\$# is $#"
root@ubuntu:/home/yanyanzhang/11# cat ../shell_study/test01.sh
#! /bin/bash

echo "\$* is $*"
echo "\$@ is $@"
echo "\$# is $#"

 

给软连接写入文件后,查看源文件,都能共享

root@ubuntu:/home/yanyanzhang/11# echo "xffawfwfwf" >> test01_sn.sh
root@ubuntu:/home/yanyanzhang/11# cat test01_sn.sh
#! /bin/bash

echo "\$* is $*"
echo "\$@ is $@"
echo "\$# is $#"
xffawfwfwf
root@ubuntu:/home/yanyanzhang/11# cat ../shell_study/test01.sh
#! /bin/bash

echo "\$* is $*"
echo "\$@ is $@"
echo "\$# is $#"
xffawfwfwf

 

 

 

特点:删除软连接,源文件不受影响,删除源文件,软连接无法使用。软连接可以连接目录。注意:软连接一定要写绝对路径

 

 

 

 

 

 

 

 

 

 

# TODO

linux常用命令

上一篇:数据结构-线性表自然连接-应用实验


下一篇:实验5:开源控制器实践——POX