让小编来给大家介绍第一位新朋友:命令行!
使用了很久Linux的小编也是非常的喜欢它呢!
什么是命令行?
首先小编是默认你已经知道teminal 这个东西了的, 它就是所有的黑客都使用的黑色窗口。它可能刚开始看上去有点吓人,但事实上它只是等待你的命令提示符。
这个窗口通常被称为 命令行 或 命令行界面,是一个基于文本的用来查看、 处理、 和操作您的计算机上的文件的应用程序。 就像 Windows 资源管理器或 Mac 上的 Finder,但没有图形界面。 命令行的其他名字是: cmd,CLI、 提示符、 控制台 或 终端.
Linux命令
一般说的“命令行”是指linux命令,linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell(外壳)命令和Linux命令。
每个命令将前缀由这个符号和一个空格组成,但您不必键入它。您的计算机将为您完成这个:
你的第一个命令 (耶 !)
让我们从简单的东西开始。键入以下命令:
$ whoami
然后键入 enter
。这是我们的结果:
$whoami
qmm
正如你所看到的计算机刚刚打印了你的用户名。棒吧,呵呵?:)
咦! 这么简单, 没错就是这么简单, 嗯....那当然不是仅仅如此 !
小编在Linux上面混这么久了, 刚刚来整理一下常用命令行,同时也再次全面的学习一下命令行的艺术,带你体验它的神奇.
小编只想带你飞
关机
$ sudo poweroff
关机
$ shutdown -h now
关闭系统(1)
$ init 0
关闭系统(2)
$ telinit 0
关闭系统(3)
$ shutdown -h hours:minutes &
按预定时间关闭系统
$ shutdown -c
取消按预定时间关闭系统
$ shutdown -r now
重启(1)
$ reboot
重启(2)
$ logout
注销
文件目录
$ cd /home
进入 '/ home' 目录'
$ cd Desktop
进入桌面
$ cd ..
返回上一级目录
**$ cd ../..
返回上两级目录 **
$ cd
进入个人的主目录
$ cd ~user1
进入个人的主目录
**$ cd -
返回上次所在的目录 **
$ pwd
显示工作路径
$ ls
查看目录中的文件
$ ls 目录名 -f
: 查看该目录中的文件
$ ls -l
显示文件和目录的详细资料
$ ls -a
显示隐藏文件
**$ ls *[0-9]*
显示包含数字的文件名和目录名 **
$ mkdir dir1
创建一个叫做 'dir1' 的目录'
$ mkdir dir1 dir2
同时创建两个目录
$ mkdir -p /tmp/dir1/dir2
创建一个目录树
$ rm -f file1
删除一个叫做 'file1' 的文件, 加上-f
参数表示一次性删除, 不在确认(使用 rm
后便不能挽回,意思就是已删除的文件会一去不复返了! 因此,要十分小心地使用此命令。)
$ rmdir dir1
删除一个叫做 'dir1' 的目录'
$ rm -rf dir1
删除一个叫做 'dir1' 的目录并同时删除其内容, -r
参数拜师递归地删除目录里面的内容 ,-rf
表示递归删除目录及其内容, 不再确认.
$ rm -rf dir1 dir2
同时删除两个目录及它们的内容
$ mv dir1 new_dir(或者new dir name)
重命名/移动 一个目录
$ cp file1 file2
复制一个文件,file1 和 file2 的文件名必须不一样
$ cp -r dir/* .
复制一个目录下的所有文件到当前工作目录(-r
参数是递归复制目录下的内容)
$ cp -a /tmp/dir1 .
复制一个目录到当前工作目录
** $ cp -a dir1 dir2
复制一个目录 **`
查看文件的内容
cat 查看文件内容如果文件太大,需要一页一页翻看可以用:
$ cat 文件名 | less
: 按j下翻,按k上翻,按q退出。
$ echo
将内容添加到文件中。
clear
清屏
$ ln -s file1 lnk1
创建一个指向文件或目录的软链接
$ ln file1 lnk1
创建一个指向文件或目录的物理链接
$ touch -t 0712250000 file1
修改一个文件或目录的时间戳 - (YYMMDDhhmm)
安装tree命令: sudo apt-get install tree
$ tree
显示文件和目录由根目录开始的树形结构(1)
$ lstree
显示文件和目录由根目录开始的树形结构(2)
文件搜索
$ find / -name file1
从 '/' 开始进入 系统根文件 搜索文件和目录
$ find . -name file1
从 '/' 开始只从当前目录搜索文件和目录
$ find / -user user1
搜索属于用户 'user1' 的文件和目录
查看进程使用情况:
**ps命令 **
命令功能:用来显示当前进程的状态
命令参数(几个常用的参数:):
a 或者 -A #显示所有进程
-e 等于“-A”
c 显示进程的真实名称
-ef #显示所有进程信息,连同命令行
ps 与grep 常用组合用法,查找特定进程
$ ps -ef|grep ssh
查看ssh进程信息
$ lsof -i :22
知道22端口现在运行什么程序
有时候我们可能会出现端口号别占用的情况,这时候我们就需要使用lsof -i: 端口号
来查看该端口号被哪个程序在运行,获取占用端口号的进程名。
然后使用ps
命令来查看该程序的ID号: ps -ef|grep 进程名
再使kill
命令来杀死该进程: sudo kill -9 进程ID号
(参数-9
: 强制终止,彻底杀死进程,更多参数请参考)
下载文件的工具 wget
Linux系统中的wget是一个下载文件的工具
命令格式:wget [参数] [URL地址]
命令功能:用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录
实例1:使用wget下载单个文件
$ wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条
#包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
实例2:使用wget -O下载并以不同的文件名保存
命令:$ wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
实例3::使用wget -c断点续传
命令:$ wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 使用wget -c重新启动下载中断的文件
对于我们下载大文件时突然由于网络等原因中断非常有帮助
我们可以继续接着下载而不是重新下载一个文件
实例4:使用wget -b后台下载
命令:$ wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
你可以使用以下命令来察看下载进度:
tail -f wget-log
下载工具curl
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载来自: http://man.linuxde.net/curl
常用举例:
1. 通过-o/-O选项保存下载的文件(抓取页面的内容)到指定的文件中:
-o:将文件保存为命令行中指定的文件名的文件中
-O:使用URL中默认的文件名保存文件到本地
# 将文件下载到本地并命名为mygettext.html
curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html
2. 将文件保存到本地并命名为gettext.html
curl -O http://www.gnu.org/software/gettext/manual/gettext.html
下载单个文件,默认将输出打印到标准输出中(STDOUT)中:
curl http://www.centos.org
3. 同时获取多个文件:
curl -O URL1 -O URL2
4.通过使用-C选项可对大文件使用断点续传功能,如:
# 当文件在下载完成之前结束该进程
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
############## 20.1%
# 通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html
至于它的上传文件的功能, 小编暂时还不学, 因为还用不到,学了等于不用等于白学哈!
其它
1.1 $ arch
# 显示机器的处理器架构
1.2
$ uname -m
显示机器的处理器架构2.$ uname -r
显示正在使用的内核版本
3.date 显示系统日期
4.$ cal
2007 显示2007年的日历表
安全的关闭命令行。让我们以黑客的方式,好吗?
$ exit
解压 & 压缩 文件
解压 文件:
- 解压rar 型文件:
sudo apt-get install rar 安装rar 命令
unrar e file.rar 解压文件 (其实后面要不要扩展名都可以)
或者 rar x file.rar
这两个解压rar文件的命令有什么区别呢?
使用 unrar e file.rar 解压会把原rar压缩包中的全部文件解压到当前目录下,没有目录;
而 rar x file.rar 解压出来后会保持原来压缩包的目录结构。
- 解压tar 压缩包
sudo sot-get install tar 安装tar命令
tar -xf all.tar 这条命令是解出all.tar包中所有文件,-x是解开的意思
tar -xzf all.tar.gz 解压对于.tgz或.tar.gz结尾的文件
- **解压.zip文件 **
linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参 数选项很多
sudo apt-get install unzip #安装unzip 命令
unzip all.zip # 这条命令是将all.zip中的所有文件解压出来
压缩文件:
- 压缩为rar 压缩包:
rar a file2(压缩后的文件名) file1 (要压缩的文件)
例如:
rar a abc ab.txt #把当前目录下的 ab.txt文件压缩成abc.rar
rar a abc * # 把当前目录下的所有文件和目录压缩成abc.rar
= 最好是返回上一层目录,然后直接用 rar a abc folderName 将 folderName 整个打包压缩成abc.rar 。
- 压缩为 tar压缩包
tar -cf all.tar *.jpg #这条命令是将所有.jpg的文件打成一个名为all.tar的包。
-c是表示产生新的包 ,-f指定包的文件名。
tar -rf all.tar *.gif #这条命令是将所有.gif的文件增加到all.tar的包里面去。
-r是表示增加文件的 意思。
# tar -uf all.tar logo.gif #这条命令是更新原来tar包all.tar中logo.gif文件
-u是表示更新文件的意思。
# tar -tf all.tar #这条命令是列出all.tar包中所有文件
-t是列出文件的意思
- 压缩为zip压缩包
zip all.zip *.jpg 这条命令是将所有.jpg的文件压缩成一个zip包
关于各命令的更多用法,可以使用-help 来查看 ,如 rar --help
和unrar --help
或者是 man rar
查看帮助来了解。
再来一波使用过的装逼的命令:
$ du -sh *
:查看当前目录下的所有文件所占用的内存
如果你好奇,ss64.com 包含用于所有操作系统命令的完整引用