Linux常用命令集合

列出文件或目录下之文件名称

执行格式: ls [-atFlgR] [name] ( name 可为文件名或目录名称。)
Example :

ls 列出目前目录下之文件名。
ls –a 列出包含以.起始的隐藏档所有文件名。
ls –t 依照文件最后修改时间之顺序,依序列出文件名。
ls –F 列出目前目录下之文件名及其类型。”/” 结尾表示为目录名称,“*” 结尾表示为执行档,”@” 结尾表示为 symblic link。
ls –l 列出目录下所有文件之许可权、拥有者、文件大小、修改时间及名称。
ls –lg 同上,并显示出文件之拥有者群组名称。
ls –R 显示出目录下,以及其所有子目录之文件名。( recursive listing )


改变工作目录位置

执行格式:cd [name] :name 可为目录名称、路径或目录缩写。
Example:

cd 改变目录位置,至使用者 login 时的 working directory (起始目录)。
cd dir1 改变目录位置,至 dir1 之目录位置下。
cd ~user 改变目录位置,至使用者的 working directory (起始目录)。
cd .. 改变目录位置,至目前目录的上层( 即 parent of working directory)
cd ../user 改变目录位置,至相对路径 user 之目录位置下。
cd /../.. 改变目录位置,至绝对路径( Full path ) 之目录位置下。


改变工作目录位置

执行格式:cd [name] :name 可为目录名称、路径或目录缩写。
Example:

cd 改变目录位置,至使用者 login 时的 working directory (起始目录)。
cd dir1 改变目录位置,至 dir1 之目录位置下。
cd ~user 改变目录位置,至使用者的 working directory (起始目录)。
cd .. 改变目录位置,至目前目录的上层( 即 parent of working directory)
cd ../user 改变目录位置,至相对路径 user 之目录位置下。
cd /../.. 改变目录位置,至绝对路径( Full path ) 之目录位置下。


复制文件

执行格式: cp [-r] source destination
Example:

cp file1 file2 将文件 file1 复制成 file2
cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1。
cp /tmp/file1 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名仍为 file1。
cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2
cp -r dir1 dir2 (recursive copy) 复制整个目录。若目录 dir2存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。


改变工作目录位置

执行格式:cd [name] :name 可为目录名称、路径或目录缩写。
Example:

cd 改变目录位置,至使用者 login 时的 working directory (起始目录)。
cd dir1 改变目录位置,至 dir1 之目录位置下。
cd ~user 改变目录位置,至使用者的 working directory (起始目录)。
cd .. 改变目录位置,至目前目录的上层( 即 parent of working directory)
cd ../user 改变目录位置,至相对路径 user 之目录位置下。
cd /../.. 改变目录位置,至绝对路径( Full path ) 之目录位置下。


[编辑] 复制文件

执行格式: cp [-r] source destination
Example:

cp file1 file2 将文件 file1 复制成 file2
cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1。
cp /tmp/file1 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名仍为 file1。
cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2
cp -r dir1 dir2 (recursive copy) 复制整个目录。若目录 dir2存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。


[编辑] 移动或更改文件、目录名称

执行格式: mv source destination
Example:

mv file1 file2 将文件 file1,更改文件名为 file2。
mv file1 dir1 将文件 file1,移到目录 dir1下,文件名仍为 file1。
mv dir1 dir2 若目录 dir2 存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,更改为目录 dir2。1


建立新目录

执行格式: mkdir directory-name
Exmaple :

mkdir dir1 建立一新目录 dir1。


[编辑] 删除目录

执行格式: rmdir directory-name 或 rm -r directory-name
Example :

rmdir dir1 删除目录 dir1,但 dir1 下必须没有文件存在,否则无法删除。
rm -r dir1 删除目录 dir1,及其下所有文件及子目录。
rm -rf dir1 强制删除目录


[编辑] 删除文件

执行格式: rm filename (filename 可为文件名,或文件名缩写符号。)
Example :

rm file1 删除文件名为 file1 之文件。
rm file? 删除文件名中有五个字符,前四个字符为file 之所有文件。
rm f* 删除文件名中,以 f 为字首之所有文件。


列出目前所在之目录位置
执行格式: pwd


查看文件内容
执行格式: cat filename
Example :
cat file1 以连续显示方式,查看文件名 file1 之内容。
执行格式: more filename 或 cat filename | more

Example :
more file1 以分页方式,查看文件名 file1 之内容。 cat file1 | more 同上。


tac file 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
nl file 显示的时候,顺道输出 行号!
od file 以二进制的方式读取档案内容!

head*:*文件查看
head -5 文件名,可以查看文件前5行。

tail*:*文件查看
tail -5 文件名,可以查看后5行,使用-f参数可以动态查看文件变化。


find*:*这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。
基本格式如下:find [path] [expression],例find /opt -name java。


ln*:*创建快捷方式。
使用方式:ln [options] source dist。
参数:
-f:链结时先将与dist同档名的档案删除;
-d:允许系统管理者硬链结自己的目录;
-i:在删除与dist同档名的档案时先进行询问;
-n:在进行软边结时,将dist视为一般的档案;
-s:进行软链结;
-v:在连结之前显示其档名;
-b:将在连结时会被覆写或删除的档案进行备份;
-S SUFFIX:将备份的档案都加上SUFFIX的字尾;
-V METHOD:指定备份的方式;
-help:显示辅助说明;
-version:显示版本


统计文件字数
命令:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:-l 统计文件的行数
-w 统计文件的单词数
-c 统计文件的字符数


显示磁盘空间
命令:df (disk free)
格式:df [option]
功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总
字节数、已用字节数、剩余字节数占用百分比。
选项:
-a:显示全部的档案系统和各分割区的磁盘使用情形
-i:显示i -nodes的使用量
-k:大小用k来表示 (默认值)
-t:显示某一个档案系统的所有分割区磁盘使用量
-x:显示不是某一个档案系统的所有分割区磁盘使用量
-T:显示每个分割区所属的档案系统名称
-h: 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

df -hl 查看磁盘空间
df -h 查看硬盘剩余空间


free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号 ( 就是 ps -A 中的第一列的数字 ) 或者 killall 进程名 ( 杀死一个进程 )

kill -9 进程号 强制杀死一个进程


查询档案或目录的磁盘使用空间
命令:du (disk usage)
格式:du [option] [filename]
功能:以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小
选项:
-a:显示全部目录和其次目录下的每个档案所占的磁盘空间
-b:大小用bytes来表示 (默认值为k bytes)
-c:最后再加上总计 (默认值)
-s:只显示各档案大小的总合
-x:只计算同属同一个档案系统的档案
-L:计算所有的档案大小
-h: 表示档案系统大小使用 GB、MB 等易读的格式。
例如:% du -a

du dir1 显示目录 dir1 的总容量及其次目录的容量(以 k byte 为容量)。
du -s dir1 显示目录 dir1 的总容量。
du -sh 查看当前文件夹大小
du -sh /etc 只显示该目录的总合
du /etc | sort -nr | more 统计结果用sort 指令进行排序,
sort 的参数 -nr 表示要以数字排序法进行反向排序。


改变文件或目录之读、写、执行之允许权

执行格式:chmod [-R] mode name

说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

( name 可为文件名或目录名;mode可为 3 个 8 位元之数字,或利用ls -l 命令,列出文件或目录之读、写、执行允许权之文字缩写。)

mode : rwx rwx rwx r:read w:write x:execute

user group other

缩写 : (u) (g) (o)

Example :

%chmod 755 dir1 将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改。
%chmod 700 file1 将文件file1,设定只有拥有者可以读、写和执行。
%chmod o+x file2 将文件file2,增加拥有者可以执行之权利。
%chmod g+x file3 将文件file3,增加群组使用者可执行之权利。
%chmod o-r file4 将文件file4,除去其它使用者可读取之权利。


改变一个文件的权限: chmod mode file|dir
改变所有子目录的权限: chmod mode dir -R
mode = 777 or 752 and so on.
mode的三个数字,分别表示 owner,group,others所具有的权限。
1 = x 执行 2 = w 写 4 = r 读,比如owner具有所有权限,1+2+4=7,
又比如 group 具有 读 和 执行 权限 1+4 = 5


[编辑] 改变文件或目录之拥有权

执行格式:chown [-R] username name ( name 可为文件名或目录名。)
Example :

%chown user file1 将文件 file1 之拥有权,改为使用者 user 所有。
%chown -R user dir1 将目录 dir1,及其下所有文件和子目录之拥有权,改为使用者 user 所有。


文件之字符串找寻

执行格式:grep string file
Example :

grep abc file1
寻找文件file1中,列出字串 abc 所在之整行文字内容。


比较文件或目录之内容

执行格式:diff [-r] name1 name2 ( name1 name2 可同时为文件名,或目录名称。)
Example :

%diff file1 file2 比较文件 file1 与 file2 内,各行之不同处。
%diff -r dir1 dir2 比较目录 dir1 与 dir2 内,各文件之不同处。


关机命令
1.shutdown

shutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用 shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

shutdown 参数说明:

[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。

[-r] 重启计算器。

[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。

[-h] 关机后关闭电源〔halt〕。

[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。

[-f] 在重启计算器〔reboot〕时忽略fsck。

[-F] 在重启计算器〔reboot〕时强迫fsck。

[-time] 设定关机〔shutdown〕前的时间。

2.halt----最简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

3.reboot

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

4.init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。


tar -c 创建包 – x 释放包 -v 显示命令过程 – z 代表压缩包
tar – cvf benet.tar /home/benet 把 /home/benet 目录打包
tar – zcvf benet.tar.gz /mnt 把目录打包并压缩
tar – zxvf benet.tar.gz 压缩包的文件解压恢复
tar – jxvf benet.tar.bz2 解压缩

解包:tar xvf fileName.tar
打包:tar cvf fileName.tar DirName


make 编译
make install 安装编译好的源码包


reboot Init 6 重启 LINUX 系统
Halt Init 0 Shutdown – h now 关闭 LINUX 系统
uname -a 查看内核版本
cat /etc/issue 查看 ubuntu 版本
lsusb 查看 usb 设备
sudo ethtool eth0 查看网卡状态
cat /proc/cpuinfo 查看 cpu 信息
lshw 查看当前硬件信息
sudo fdisk -l 查看磁盘信息


常用 apt 命令:
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装” -f = – fix-missing ”
sudo apt-get remove package 删除包
sudo apt-get remove package - - purge 删除包,包括删除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖

清理所有软件缓存(即缓存在 /var/cache/apt/archives 目录里的 deb 包 )

sudo apt-get clean


永久打开或则关闭防火墙
chkconfig iptables on
chkconfig iptables off
即时生效:重启后还原
service iptables start
service iptables stop
或者:
/etc/init.d/iptables start
/etc/init.d/iptables stop


如何限制ip访问
首先打开防火墙
service iptables start
然后执行
iptables -I INPUT -s 10.11.15.42 -j DROP


回忆命令:history

查看路由表
命令:netstat
格式:netstat -rn


===============================新建用户===============================
新建用户:
命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。 
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。

举例: # useradd -g oinstall -G dba oracle 创建Oracle用户

e. 删除用户
命令: userdel 用户名
删除指定的用户帐号
userdel –r 用户名(userdel 用户名;rm 用户名):删除指定的用户帐号及宿主目录
例:#useradd -g root kkk //把kkk用户加入root组里

f. 修改用户
命令: usermod
修改已有用户的信息
usermod –l 旧用户名 新用户名: 修改用户名
usermod –L 用户名: 用于锁定指定用户账号,使其不能登陆系统
usermod –U 用户名: 对锁定的用户帐号进行解锁
passwd –d 用户名: 使帐号无口令,即用户不需要口令就能登录系统
例:#usermod -l user2 user1 //把用户user2改名为user1
===============================新建用户===============================

================================vi技巧================================
a. 进入输入模式
新增 (append)
a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
A:从光标所在列最後面的地方开始新增资料。

插入 (insert)
i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。

开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
b. 退出vi
在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。

c. 删除与修改文件的命令:
x:删除光标所在字符。
dd :删除光标所在的列。
r :修改光标所在字元,r 後接著要修正的字符。
R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s:删除光标所在字元,并进入输入模式。
S:删除光标所在的列,并进入输入模式。

d. 屏幕翻滚类命令
Ctrl+u: 向文件首翻半屏
Ctrl+d: 向文件尾翻半屏
Ctrl+f: 向文件尾翻一屏
Ctrl+b: 向文件首翻一屏
nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

e. 删除命令
ndw或ndW: 删除光标处开始及其后的n-1个字
do: 删至行首
d$: 删至行尾
ndd: 删除当前行及其后n-1行
x或X: 删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u: 删除输入方式下所输入的文本

f. 搜索及替换命令
/pattern: 从光标开始处向文件尾搜索pattern
?pattern: 从光标开始处向文件首搜索pattern
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
:s/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换

g. 复制,黏贴
(1) 选定文本块,使用v进入可视模式;移动光标键选定内容
(2) 复制选定块到缓冲区,用y;复制整行,用yy
(3) 剪切选定块到缓冲区,用d;剪切整行用dd
(4) 粘贴缓冲区中的内容,用p

h. 其他
在同一编辑窗打开第二个文件,用:sp [filename]
在多个编辑文件之间切换,用Ctrl+w
================================vi技巧================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码下载:完整代码,可直接运行 ;运行版本:2022a或2019b或2014a;若运行有问题,可私信博主; **仿真咨询 1 各类智能优化算法改进及应用** 生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化 **2 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断 **3 图像处理方面** 图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知 **4 路径规划方面** 旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化 **5 无人机应用方面** 无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配 **6 无线传感器定位及布局方面** 传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化 **7 信号处理方面** 信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化 **8 电力系统方面** 微电网优化、无功优化、配电网重构、储能配置 **9 元胞自动机方面** 交通流 人群疏散 病毒扩散 晶体生长 **10 雷达方面** 卡尔曼滤波跟踪、航迹关联、航迹融合

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值