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