范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

第5章Linux文件和目录管理(上)

  提醒:本文为合集文章,后续会持续更新!
  关注我,每日提升!
  从这一章开始,阿铭介绍的命令会越来越多,希望你能够反复练习每一个命令的每一个选项。在Windows下,新建、复制、删除文件或者文件夹都非常简单,而Linux需要我们使用命令行进行操作。这样便增加了学习Linux系统的难度,不过不用担心,一旦能够熟练使用它们,那么你将永远也不会忘记。万事开头难,所以请大家努力吧!
  5.1 绝对路径和相对路径
  在Linux中,什么是一个文件的路径呢?简单地说,就是这个文件存放的地方,例如在上一章提到的/root/.ssh/authorized_keys就是一个文件的路径。只要你告诉系统某个文件的路径,系统就可以找到这个文件。
  在Linux中,存在着绝对路径和相对路径。  绝对路径:路径的写法一定是由根目录/写起的,例如 /usr/local/mysql。  相对路径:路径的写法不是由根目录/写起的。例如,首先用户进入到/home,然后再进入到test ,执行的命令为  # cd /home  # cd test
  此时用户所在的路径为/home/test。第一个cd命令后紧跟/home,前面有斜杠;而第二个cd命令后紧跟test,前面没有斜杠。这个test是相对于/home目录来讲的,所以称为相对路径。
  5.1.1 命令cd
  命令cd(change directory的简写)是用来变更用户所在目录的,如果后面什么都不跟,就会直接进入当前用户的根目录下。我们做实验用的是root账户,所以运行命令cd后,会进入root账户的根目录/root下。如果后面跟目录名,则会直接切换到指定目录下。示例命令如下:  # cd /tmp/ # pwd /tmp # cd # pwd /root
  上例中,命令pwd用于显示当前所在目录。命令cd后面只能是目录名,如果跟了文件名,则会报错,例如:  # cd /etc/passwd -bash: cd: /etc/passwd: 不是目录
  因为/etc/passwd为一个文件,所以就报错了。在Linux文件系统中,有两个特殊的符号也可以表示目录。"."表示当前目录,".."表示当前目录的上一级目录,示例命令如下:  # cd /usr/local/lib/ # pwd /usr/local/lib # cd . # pwd /usr/local/lib # cd .. # pwd /usr/local
  上例中,首先进入/usr/local/lib/目录,接着输入.,用命令pwd查看当前目录,还是在/usr/local/lib/目录下,然后输入..,则进入/usr/local/ 目录(即/usr/local/lib目录的上一级目录)。
  5.1.2 命令mkdir
  命令mkdir(make directory的简写)用于创建目录,这个命令在上一章中用过。该命令的格式为:mkdir [-mp] [目录名称]。其中,-m、-p为其选项。-m选项用于指定要创建目录的权限(这个选项不常用,阿铭不作重点解释)。-p选项很管用,我们先来做个试验,你就一目了然了。执行如下命令:  # mkdir /tmp/test/123
  mkdir: 无法创建目录 "/tmp/test/123": 没有那个文件或目录  # mkdir -p /tmp/test/123 # ls /tmp/test 123
  当我们想创建目录/tmp/test/123时,提示无法创建、/tmp/test目录不存在。在Linux中,如果它发现要创建的目录的上一级目录不存在,就会报错。为了解决这个问题,Linux设置了-p选项,这个选项可以帮我们创建一大串级联目录,并且当创建一个已经存在的目录时,不会报错。示例命令如下:  # ls -ld /tmp/test/123 drwxr-xr-x 2 root 6 12月 30 07:25 /tmp/test/123 # mkdir /tmp/test/123 mkdir: 无法创建目录 "/tmp/test/123": 文件已存在 # mkdir -p /tmp/test/123 # ls -ld /tmp/test/123 drwxr-xr-x 2 root 6 12月 30 07:25 /tmp/test/123
  在上一章中阿铭已经介绍过ls命令,但并没有介绍它的-d选项。这个选项是针对目录的,通常都是和-l并用,写成-ld。它可以查看指定目录的属性,比如在本例中,它可以查看/tmp/test/123目录的创建时间,如果不加-d,则会显示该目录里面的文件和子目录的属性。
  5.1.3 命令rmdir
  命令rmdir(remove directory的简写)用于删除空目录,后面可以是一个目录,也可以是多个目录(用空格分隔)。该命令只能删除目录,不能删除文件,所以阿铭一般不用它,而改用命令rm(remove的简写),这个命令既可以删除目录,又可以删除文件,将在下一节中介绍。rmdir有和mkdir具有相同的选项-p,它同样可以级联删除一大串目录,但在级联的目录中,如果某一个目录里还有目录或者文件时,这个命令就不好用了。我们先来看看命令rmdir的用法,示例命令如下:  # ls /tmp/test  123 # rmdir /tmp/test/ rmdir: 删除 "/tmp/test/" 失败: 目录非空 # rmdir /tmp/test/123 # ls /tmp/test #
  在上例中,命令rmdir只能删除空目录,即使加上-p选项也只能删除一串空目录。可见,这个命令有很大的局限性,偶尔用一下还可以。
  5.1.4 命令rm
  命令rm是最常用的,它也有很多选项。你可以通过命令man rm来获得它的详细帮助信息。这里,阿铭只介绍最常用的两个选项。
  -r:删除目录用的选项,类似于rmdir,但可以删除非空目录。下面阿铭先创建一连串的目录,然后尝试删除它们。示例命令如下:  # mkdir -p /tmp/test/123  # rm -r /tmp/test/123  rm:是否删除目录 "/tmp/test/123"? y
  和rmdir不同的是,使用rm –r命令删除目录时,会询问是否删除,如果输入"y"则会删除,如果输入"n"则不删除。另外,rm -r命令能删除非空目录。
  -f:表示强制删除。它不再询问是否删除,而是直接删除。如果后面跟一个不存在的文件或者目录,则不会报错。下面阿铭尝试删除一个不存在的目录,示例命令如下:  # rm /tmp/test/123/123 rm: 无法删除 "/tmp/test/123/123": 没有那个文件或目录  # rm -f /tmp/test/123/123
  上例中,/tmp/test/123/123这个目录是不存在的,但加上-f选项后,就不会报错。但如果要删除一个存在的目录时,即使加上-f选项也会报错。所以,使用命令rm删除目录时,一定要加-r选项。请对比下面的示例命令和上面的示例命令的区别:  # rm -f /tmp/test/123 rm: 无法删除 "/tmp/test/123": 是一个目录 # rm -rf /tmp/test/123
  关于rm命令,阿铭使用最多的是-rf选项,这样删除文件或目录比较方便。但请大家千万要注意,rm -rf命令后面不能加"/",否则它会把你的系统文件全部删除,这是非常危险的!
  5.2 环境变量PATH
  在讲环境变量之前,阿铭先介绍一下命令which,它用于查找某个命令的绝对路径。示例命令如下:  # which rmdir /usr/bin/rmdir # which rm alias rm="rm -i"  /usr/bin/rm # which ls alias ls="ls --color=auto"  /usr/bin/ls
  其中rm和ls是两个特殊的命令,在上例中我们使用alias命令做了别名。我们用的rm实际上是rm -i,加上-i选项后,删除文件或者命令时都会询问是否确定要删除,这样做比较安全。命令alias可以设置命令或文件的别名,阿铭会在10.1.3节中详细介绍。命令which阿铭不常使用,平时只用来查询某个命令的绝对路径。
  在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm。那么你是否会问:"为什么我们使用命令时,只是直接打出了命令,而没有使用这些命令的绝对路径呢?"这是环境变量PATH在起作用。请输入如下命令:  # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  这里的echo用来输出$PATH的值。PATH前面的$是变量的前缀符号,这些知识点将会在第10章中详细介绍。
  因为/bin目录在PATH的设定中,所以自然可以找到ls。但值得注意的是,由于PATH里没有/root目录,如果你将ls移到/root目录下,当执行ls命令时,系统自然就找不到可执行文件了,它会提示command not found!。示例命令如下:  # mv /usr/bin/ls /root/ # ls -bash: /usr/bin/ls: 没有那个文件或目录
  命令mv(move的简写)用于移动目录或者文件,它还有重命名的作用(这个将在4.2.2节中介绍)。那么,该如何解决上面的这种问题呢?有两种方法,一种方法是直接将/root这个路径加入到$PATH当中,命令如下:  # PATH=$PATH:/root # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root # ls anaconda-ks.cfg ls
  另一种方法是使用绝对路径,命令如下:  # /root/ls anaconda-ks.cfg ls
  为了不影响系统使用,建议将ls文件还原,命令如下:  # mv /root/ls /usr/bin/
  5.2.1 命令cp
  cp是copy(即复制)的简写,该命令的格式为:cp [选项] [ 来源文件 ] [目的文件]。例如,我想把test1复制成test2,可以写为cp test1 test2。下面介绍命令cp的几个常用选项。
  -r:如果要复制一个目录,必须加-r选项,否则不能复制,这类似于rm命令。示例命令如下:  # mkdir 123 # cp 123 456 cp: 略过目录"123" # cp -r 123 456 # ls –ld 123 456 drwxr-xr-x 2 root 6 12月 30 07:35 123 drwxr-xr-x 2 root 6 12月 30 07:36 456
  -i:这是安全选项,如果遇到一个已存在的文件,会询问是否覆盖,这也与rm命令类似。在RedHat/Rocky系统中,使用的cp命令其实是cp –i,我们可以通过which命令查看,具体如下:  # which cp alias cp="cp -i"  /bin/cp
  为了更形象地说明-i 选项的作用,我们来做一个简单的小试验,命令如下:  # cd 123 # ls # touch 111 # touch 222 # cp -i 111 222 cp:是否覆盖 "222"?n # echo "abc" > 111 # echo "def" > 2 22 # cat 111 222 abc def # /bin/cp 111 222 # cat 111 abc # cat 222 abc
  上例中,touch可以解释为:如果有这个文件,则会改变该文件的访问时间;如果没有这个文件,就会创建这个文件。前面说过,echo命令用于打印,这里echo的内容abc和def并没有显示在屏幕上,而是分别写入了文件"111"和"222"。起写入作用的就是符号">",这在Linux中叫做重定向,即把前面产生的输出写入到后面的文件中。而cat命令则用于读一个文件,并把读出的内容打印到当前屏幕上。(重定向将在第11章中介绍,cat命令将在5.3.1节中详细介绍,这里你只要明白它们的含义即可。)
  5.2.2 命令mv
  mv是move的简写,该命令的格式为:mv [ 选项 ] [源文件或目录] [目标文件或目录]。该命令有如下几种情况。  目标文件是目录,但该目录不存在。  目标文件是目录,且该目录存在。  目标文件是文件,且该文件不存在。  目标文件是文件,但该文件存在。
  当目标文件是目录时,其存在与否,执行后的结果是不一样的。如果该目录存在,则会把源文件或目录移动到该目录中。如果该目录不存在,则会把源目录重命名为给定的目标文件名。
  当目标文件是文件时,其存在与否,执行后的结果也是不一样的。如果该文件存在,则会询问是否覆盖。如果该文件不存在,则会把源文件重命名为给定的目标文件名。
  下面我们来做几个小试验,示例命令如下:  # mkdir /tmp/test_mv # cd /tmp/test_mv # mkdir dira dirb # ls dira dirb # mv dira dirc # ls dirb dirc
  上例中,首先阿铭创建了一个实验用的目录/tmp/test_mv,然后进入到该目录下进行实验,这样做的目的是保持目录和文件简洁,后面的实验以此类推。这里,目标文件是目录dirc,并且dirc不存在,相当于把目录dira重命名为dirc。
  下例中,目标文件是目录dirb,且dirb存在,则会把目录dirc移动到目录dirb里:  # mv dirc dirb # ls dirb # ls dirb dirc
  下例中,mv filed filee的目标文件是文件filee且这个文件不存在,相当于把文件filed重命名为filee。mv filee dirb命令则将更名后的文件filee移动到目录dirb里。  # touch filed # ls dirb filed # mv filed filee # ls dirb filee # mv filee dirb # ls dirb # ls dirb dirc filee
  5.3 几个与文档相关的命令
  上面介绍的几个命令几乎都是与目录相关的,下面阿铭继续介绍几个与文档相关的命令。
  5.3.1 命令cat
  命令cat(它并不是某个单词的简写,大家可以通过man cat命令查看它的解释)是比较常用的一个命令,用于查看一个文件的内容并将其显示在屏幕上。cat后面可以不加任何选项,直接跟文件名。下面阿铭介绍它的两个常用选项。
  -n :查看文件时,把行号也显示到屏幕上。示例命令如下(当前目录依然在/tmp/test_mv):  # echo "111111111" > dirb/filee # echo "222222222" >> dirb/filee # cat dirb/filee 111111111 222222222 # cat -n dirb/filee  1  111111111  2  222222222
  上例中出现了符号>>,它跟前面介绍的符号>类似,其作用也是重定向,即把前面的内容输入到后面的文件中,但符号>>是"追加"的意思。当使用符号>时,如果文件中有内容,则会删除文件中原有的内容,而使用符号>>则不会删除原有的内容。
  -A:显示所有的内容,包括特殊字符。示例命令如下:  # cat -A dirb/filee 111111111$ 222222222$
  上例中,若不加-A选项,那么每行后面的$符号是看不到的。
  5.3.2 命令tac
  和命令cat一样,命令 tac(正好是命令cat的反序写法)也是把文件的内容显示在屏幕上,只不过是先显示最后一行,然后显示倒数第二行,最后才显示第一行。我们使用命令tac来查看刚才创建的文件dirb/filee,显示的结果和命令cat正好是反序,如下所示:  # tac dirb/filee 222222222 111111111
  5.3.3 命令more
  命令more也用于查看一个文件的内容,后面直接跟文件名。当文件内容太多,一屏不能全部显示时,用命令cat肯定是看不了前面的内容,这时可以使用命令more。当看完一屏后,按空格键可以继续看下一屏,看完所有内容后就会退出,按Ctrl+B可以向上翻屏,按Ctrl+F向下翻屏(同空格)。如果你想提前退出,按q键即可。
  5.3.4 命令less
  命令less的作用和命令more一样,后面直接跟文件名,但命令less比more功能要多一些。按空格键可以翻页,按j键可以向下移动(按一下就向下移动一行),按k键可以向上移动。在使用more和less查看某个文件时,你可以按一下/键,并输入一个字符串(如root),然后回车,这样就可以查找这个字符串了。如果是查找多个该字符串,可以按n键显示下一个。另外,也可以用?键替代/键来搜索字符串,唯一不同的是,/是在当前行向下搜索,而?是在当前行向上搜索。
  5.3.5 命令head
  命令head用于显示文件的前10行,后面直接跟文件名。如果加-n选项,则显示文件的前几行,示例命令如下:  # 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 # head -n 1 /etc/passwd root:x:0:0:root:/root:/bin/bash # head -n2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
  大家请注意,选项-n后有无空格均可。另外,也可以省略字母n,-后面直接跟数字, 如下:  # head -2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
  5.3.6 命令tail
  和命令head类似,命令tail用于显示文件的最后10行,后面直接跟文件名。如果加-n选项,则显示文件的最后几行,示例命令如下:  # tail /etc/passwd nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin polkitd:x:998:996:User for polkitd:/:/sbin/nologin unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin sssd:x:996:993:User for sssd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:995:992::/var/lib/chrony:/sbin/nologin # tail -n2 /etc/passwd sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:995:992::/var/lib/chrony:/sbin/nologin # tail -2 /etc/passwd sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:995:992::/var/lib/chrony:/sbin/nologin
  同样,-n后面有无空格均可,且字母n也可以省略。
  另外,命令tail的-f选项也常用,它可以动态显示文件的最后10行。如果文件内容在不断增加,使用-f选项非常方便和直观。比如tail -f /var/log/messages可以动态、实时地查看文件/var/log/ messages中的内容。
  5.4 文件的所有者和所属组
  一个Linux目录或者文件,都会有一个所有者和所属组。所有者是指文件的拥有者,而所属组指的是这个文件属于哪一个用户组(关于用户、用户组的概念,会在第5章中详细介绍,这里你要明白一个用户组下面会有若干个用户)。Linux这样设置文件属性的目的是为了文件的安全。
  例如,test文件的所有者是user0,而test1文件的所有者是user1,那么user1很有可能是不能查看test文件的,相应地,user0也很有可能不能查看test1文件(之所以说是可能,是因为user0和user1有可能属于同一个用户组,而恰好这个用户组对这两个文件有查看权限)。
  有时我们也会有这样的需求:使一个文件能同时被user0和user1查看,这怎么实现呢?这时"所属组"就派上用场了。先创建一个组users,让user0和user1同属于users组,然后建立一个文件test2,且其所属组为users,这样user0和user1都可以访问test2文件。Linux文件属性不仅规定了所有者和所属组,还规定了所有者(user)、所属组(group)以及其他用户(others)对该文件的权限。我们可以通过ls -l命令来查看这些属性,代码如下:  # ls -l /etc/passwd -rw-r--r--. 1 root 1080 12月 26 08:08 /etc/passwd
  其中,第3列和第4列的root就是所有者和所属组。
  5.5 Linux文件属性
  在上例中,用ls –l命令查看当前目录下的文件时,共显示了9列内容(用空格划分列),它们都代表什么含义呢?
  第1列:包含该文件的类型、所有者、所属组以及其他用户对该文件的权限。第1列共11位(阿铭这里列出的是10位,没有最后一位,你可以通过ls -l /看一下,会看到最后一位是一个.),其中第1位用来描述该文件的类型。上例中我们看到的文件类型有d和-,其实除了这两种外,还有l、b、c、s等,具体描述如下所示。  d表示该文件为目录。  -表示该文件为普通文件。  l表示该文件为链接文件(link file),4.9.3节中提到的软链接即为该类型,示例命令如下:  # ls -l /etc/rc.local lrwxrwxrwx. 1 root 13 7月   1 11:29 /etc/rc.local -> rc.d/rc.local
  上例中,第1列第1位是l,表示该文件为链接文件,后面阿铭还会介绍它。  b表示该文件为块设备,比如/dev/sda就是这样的文件,磁盘分区文件就是这种类型。  c表示该文件为串行端口设备文件(又称字符设备文件),比如键盘、鼠标、打印机、tty终端等都是这样的文件。  s表示该文件为套接字文件(socket),用于进程之间的通信,后面讲到MySQL时会用到该类型的文件。
  文件类型后面的9位,每3位为一组,上例中(rc.local)均为rwx这3个参数的组合。其中,r代表可读,w代表可写,x代表可执行。前3位为所有者(user)的权限,中间3位为所属组(group)的权限,最后3位为其他非本群组用户(others)的权限。下面阿铭举例来说明一下。
  假设一个文件的属性为-rwxr-xr--,它代表的意思是,该文件为普通文件,文件拥有者可读、可写且可执行,文件所属组对其可读、不可写但可执行,其他用户对其只可读。对于一个目录来讲,打开这个目录即为执行这个目录,所以任何一个目录必须要有x权限才能打开并查看该目录下的内容。例如,一个目录的属性为drwxr--r--,其所有者为root,那么除root之外的其他用户是不能打开这个目录的。
  关于前面提到第1列最后1位的".",阿铭要特别说明一下。老版本CentOS 5 是没有这个点的,这主要是因为新版本的ls添加了Selinux或者acl的属性。如果文件或者目录使用了Selinux context的属性,这里会是一个点".";如果设置了acl的属性,这里会是一个加号"+"。关于Selinux和acl,阿铭不再详细介绍,你只要了解是怎么回事即可。
  第2列:表示该文件占用的节点(inode),如果是目录,那这个数值与该目录下的子目录数量有关。
  第3列:表示该文件的所有者。
  第4列:表示该文件的所属组。
  第5列:表示该文件的大小。
  第6列、第7列和第8列:表示该文件最后一次被修改的时间(mtime),依次为月份、日期以及时间。
  第9列:表示文件名。

浅析春秋战国时期的招募制度养兵制度军功制度相互之间的关联文约翰实验室编辑约翰实验室前言春秋战国时期是中国历史上一个重要的时期,这段时间内的募兵制度养兵制度军功制度对于中国古代军事史的发展起到了重要的作用。募兵制度春秋战国时期政治中心从周经开区企业隆基绿能再度荣登BNEFTier1榜单近日,彭博新能源财经(BNEF)公布了2023年第一季度全球光伏组件制造供应商排名分级,隆基凭借高效高可靠的HiMO系产品及一贯稳健的经营水平与强大的可融资能力,再度荣登Tier1产业兴带动外贸强与发达地区相比,巴彦淖尔的外贸规模与质量仍存在一定差距,但这座城市常住人口仅150多万人,地区生产总值去年才突破千亿元,能取得如此成绩实属不易。这与其独特区位优势与丰富资源禀赋密不证监会通报1家首发企业涉嫌违法违规移送稽查3月17日,证监会通报2022年首发企业现场检查有关情况显示,去年全年完成对28家首发申请企业的检查及处理,1家企业涉嫌违法违规移送稽查。对首发申请企业开展常态化现场检查,是强化I毫米波之父发布无线通信技术里程碑式产品相关领域公司受关注据报道,日前,素有毫米波5G之父之称的纽约大学无线通信研究中心创始人TedRappaport教授宣布了无线通信技术发展的一个重要里程碑。该中心发布了全球第一个能够生成100GHz以中网华信科技股份有限公司让数据更安全更智慧秉承让数据更安全更智慧的使命,在安全大数据智慧应用的战略规划下,多年来,中网华信科技股份有限公司始终聚焦行业坚持创新,致力于推进安全大数据云计算数据加密信创区块链等新一代信息技术在逐浪AIGC丨在新一轮AI全球竞赛中,中国企业要抓住产业场景优势编者按1956年,人工智能(AI,ArtificialIntelligence)的概念首次提出,迄今已逾六十载。60年来,AI历经了从爆发到寒冬再到野蛮生长的历程,伴随着人机交互机我省2023年首批拟入库科技型中小企业名单公布齐鲁智能微系统创新产业基地27家企业入选加快科技政策落实落地,强化企业创新主体地位,助推经济高质量发展迈上新台阶。近日,山东省科学技术厅公示了山东省2023年第一批拟入库科技型中小企业名单,齐鲁智能微系统创新产业基地山东秦始皇究竟怎么死的?郭沫若称不是病死,而是被人用铁钉钉死的号称千古一帝的秦始皇,虽然只活了50岁,但他的一生却充满了神秘色彩。可以说,从其出生到死亡,在他身上发生过的每一件事都会被后人争论不休。秦始皇开创了中国历史上第一个大一统的封建王朝1983年严打,翟曼霞为何因裸泳和交18个男友就以流氓罪判枪决1983年全国实施严打,有着很深的时代背景,一是因为中国改革开放刚刚起步,人们开始接触西方思想,二是文革十年而引起的动乱,三是当时对越自卫反击战等等因素,使得当时的社会治安环境恶化三驾疲楚,晋如何竞赢楚?战略扰袭难防,现今国人需警惕历史开讲如果说春秋时代像一首歌,诸侯争霸就是当之无愧的主旋律。而诸侯争霸中的重头戏,则非晋楚争霸莫属。从公元前632年晋楚城濮之战开始,到公元前506年吴破楚入郢之战,晋楚争霸足足
新生儿宝宝最容易出现的27种情况宝宝出生后,很多新手爸妈都会忙得手忙脚乱,不知所措!这里整理了一些新生儿宝宝最容易出现的27种情况,和应对的护理方法,很实用!教你如何轻松应对育儿问题,真是宝藏级别的哦建议收藏起来28。8秒4投全铁,太阳1分惜败火箭!马刺10连败,却获两大利好大新闻,联盟垫底的火箭队战胜了联盟前三的太阳队!太阳队最后28。8秒121122落后1分,布克两次佩恩1次布里奇斯1次,总共4次投篮4次反超的机会都没抓住,其中还有一次是在篮下近在鉴于小组赛存在放水情况,国际足联可能改变下届世界杯的赛制国际足联可能改变2026年世界杯的赛制。原本国际足联设计的是48队分成16个小组,每个小组3队的计划。现在,国际足联考虑还是每个小组4队,共分成12个小组。国际足联认为,4个小组的第二阶段复赛在即,广东宏远迎来三大利好,重回争冠序列指日可待文小桢随着CBA全明星赛的举办,也意味着第二阶段常规赛的复赛日期已经近在眼前了。而对于复赛在即的广东宏远来说,近期迎来的三大利好,让球队重回争冠序列变得指日可待。第一大利好,新外援特殊时期,建议少囤萝卜白菜,多囤这5样,随吃随取,营养又好吃冬日生活打卡季疫情就像一张灰色的巨网,洒在城市的每一个角落。让我们无处可逃,这是即将结束的2022年。再快结束的2022年,我们还在经历,扫码,做核酸,居家隔离这样的生活。疫情夺走火箭爆冷胜太阳,效果一箭双雕?利好戈登交易,斯通可乘胜抬价对于火箭队来说,本赛季多一个胜场少一个胜场,真心是无所谓的,毕竟就算是把战绩压到联盟最差,也不一定能获得状元签。明年夏天选秀大会之前的顺位抽签,还是要看运气。前2个赛季火箭队的战绩动真格了?人民网正式表态,苹果不愿看到的情况出现作为全球最赚钱的科技公司,苹果的吸金能力毋庸置疑。尤其是在中国市场,华为遭遇老美制裁后,苹果在高端手机市场更是做到了一家独大。据公开资料显示,苹果去年凭借iPhone13系列的火爆成不了马兰人,那就成为真正的自己我是马兰人哪有什么平凡的日子,不过是有人替我们负重前行罢了。马兰的城市能得到此名,能得到如此优美的环境,都是因为马兰人的存在。曾经的戈壁滩滴水难得,珍惜水源就像珍惜生命一样。前去科越努力,越优秀自律以修身所有看似风光的美丽背后,都藏着无尽的汗水所有令人羡慕的成就背后,都是不一般的自律。成年人最顶级的自律,不是一定要做什么惊天动地的大事,而是脚踏实地地做好眼前的每一件小事。曾年薪190万,知名银行原董事长被双开与他人发生不正当性关系来源每日经济新闻接受调查8个多月后,江西银行原董事长陈晓明正式被双开!12月2日晚间,中央纪委国家监委网站显示,江西银行股份有限公司原党委书记董事长陈晓明被开除党籍开除公职。陈晓明和老朋友共进午餐文(美)帕特里夏伊萨克斯雷希尼奥卢婧雅胡宗锋译重返中国后的第二天,我去了英语系,收拾我的办公桌和电脑。行政助理的英文名字叫朱莉,教我如何从中文版本的Windows转换成英文。现在我