Linux基础
文章目录
一、目录管理:
1.LS
ls //列出目录内容
-l //长格式
文件类型
- //普通文件(f)
d //目录文件
b //块设备文件(block)
c //字符设备文件(character)
l //符号链接文件(symbolic link file)
p //命令管道(pipe)
s //套接字文件(socket)
文件权限 //9位,每3位一组,每一组:rwx(读,写,执行)
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp),最近一次被修改的时间
访问 //access
修改 //modify,文件内容发生改变
改变 //change,metadata(元数据)
ls: //列出目录内容
[root@192 ~]# ls
anaconda-ks.cfg
ls -l: //以长格式的形式查看当前目录下所有可见文件的详细属性
[root@192 ~]# ls -l
total 4
-rw-------. 1 root root 1092 Jun 27 19:37 anaconda-ks.cfg
ls -h: //做单位转换
[root@192 ~]# ls -h
111 222 333 anaconda-ks.cfg
ls -a: //显示以.开头的隐藏文件
. //表示当前目录
.. //表示父目录
[root@192 ~]# ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .config .cshrc .tcshrc .viminfo 111 222 333 anaconda-ks.cfg
ls -d: //显示目录自身属性
[root@192 ~]# ls -d /etc/
/etc/
ls -i: //显示文件的inode(index node)
[root@192 ~]# ls -i 111
100667522 111
ls -r: //逆序显示
[root@192 ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@192 ~]# ls -r /
var usr tmp sys srv sbin run root proc opt mnt media lib64 lib home etc dev boot bin
[root@192 ~]#
ls -R: //递归(recursive)显示
[root@192 ~]# ls /root/
111 222 333 anaconda-ks.cfg
[root@192 ~]# ls -R /root/
/root/:
111 222 333 anaconda-ks.cfg
2.CD
cd //改变当前工作目录
[root@192 ~]# cd /etc/yum.repos.d/
[root@192 yum.repos.d]#
3.PWD
pwd: //打印当前工作目录路径
[root@192 yum.repos.d]# pwd
/etc/yum.repos.d
4.MKDIR
mkdir: //创建目录
[root@192 ~]# mkdir test
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test
mkdir -pv: //创建目录时若父目录不存在则自动创建并显示目录创建过程
[root@192 ~]# mkdir -pv aaa/bbb/ccc/ddd
mkdir: created directory 'aaa'
mkdir: created directory 'aaa/bbb'
mkdir: created directory 'aaa/bbb/ccc'
mkdir: created directory 'aaa/bbb/ccc/ddd'
[root@192 ~]# ls aaa/bbb/ccc/
ddd
5.RMDIR
rmdir: //删除目录,只能删除空目录
[root@192 ~]# rmdir aaa/bbb/ccc/ddd
[root@192 ~]# rmdir aaa/bbb/ccc
[root@192 ~]# rmdir aaa/bbb
[root@192 ~]# rmdir aaa
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test
6.TREE
tree: //生成目录树
[root@192 ~]# tree /root
/root
|-- 111
|-- 222 -> 111
|-- 333
|-- anaconda-ks.cfg
`-- test
1 directory, 4 files
二、文件管理
1.TOUCH
touch: //无中生有、万象更新
[root@192 ~]# touch yy
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test yy
2.STAT
stat //显示文件或文件系统的状态
root@192 ~]# stat yy
File: yy
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 100667529 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-06-29 19:51:20.021131099 +0800
Modify: 2022-06-29 19:51:20.021131099 +0800
Change: 2022-06-29 19:51:20.021131099 +0800
Birth: 2022-06-29 19:51:20.021131099 +0800
3.RM
rm: //删除文件,删除命令默认会提示是否需要删除, \
//如果要使用命令本身可以在命令前加一个\,如\rm,这样删除就不会有提示了
rm -r: //递归删除,删除目录时必须使用此选项
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test yy
[root@192 ~]# rm -r yy
rm: remove regular empty file 'yy'? y
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test
rm -rf: //强制删除,不询问
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg test
[root@192 ~]# rm -rf test
[root@192 ~]# ls
111 222 333 anaconda-ks.cfg
4.CP
cp: //复制文件,一个文件到一个文件,多个文件到一个目录
[root@192 ~]# cp 111 /tmp/
[root@192 ~]# ls /tmp/111
/tmp/111
5.MV
mv: //移动文件
[root@192 ~]# mv 222 /tmp/
[root@192 ~]# ls /tmp/222
/tmp/222
三、BASH常用操作
1.HISTORY设置历史命令的缓存区大小
[root@192 ~]# HISTSIZE=10
[root@192 ~]# history
153 ls
154 ls /tmp/
155 ls /tmp/11
156 ls /tmp/111
157 ls [0-9][0-9]
158 history
159 history=10
160 history
161 HISTSIZE=10
162 history
2.PATH
PATH //命令搜索路径
[root@192 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3.SHELL
SHELL //当前shell
[root@192 ~]# echo $SHELL
/bin/bash
4.RANDOM
RANDOM // 保存着0-32768之间的随机数
[root@192 ~]# echo $RANDOM
3011
[root@192 ~]# echo $RANDOM
22370
[root@192 ~]# echo $RANDOM
7673
5.ALIAS
ailas : 设置命令的别名
[root@192 ~]# alias yy='echo "this is 命令的别名"'
[root@192 ~]# yy
this is 命令的别名
6.$()
$(): //命令替换(把命令中某个子命令替换为其执行结果的过程
[root@192 ~]# echo $(date)
Wed Jun 29 20:33:53 CST 2022
四、硬链接/软链接
[root@192 ~]# touch 111
[root@192 ~]# ln -s 111 222 //创建软链接
[root@192 ~]# ll
total 4
-rw-r--r--. 1 root root 0 Jun 29 19:05 111
lrwxrwxrwx. 1 root root 3 Jun 29 19:05 222 -> 111
-rw-------. 1 root root 1092 Jun 27 19:37 anaconda-ks.cfg
[root@192 ~]# ln 111 333 //创建硬链接
[root@192 ~]# ll
total 4
-rw-r--r--. 2 root root 0 Jun 29 19:05 111
lrwxrwxrwx. 1 root root 3 Jun 29 19:05 222 -> 111
-rw-r--r--. 2 root root 0 Jun 29 19:05 333
-rw-------. 1 root root 1092 Jun 27 19:37 anaconda-ks.cfg
ll
total 4
-rw-r–r–. 2 root root 0 Jun 29 19:05 111
lrwxrwxrwx. 1 root root 3 Jun 29 19:05 222 -> 111
-rw-r–r–. 2 root root 0 Jun 29 19:05 333
-rw-------. 1 root root 1092 Jun 27 19:37 anaconda-ks.cfg