@torresdyl
2018-01-05T00:12:30.000000Z
字数 8998
阅读 2824
linux
ubuntu
bash
command
Commands | Parameters/examples | Usage |
---|---|---|
sudo | sudo some command |
login as root and do something. |
sudo | -i | prompt a login shell to login as root, and go back to / . |
-s | same as -i but doesn't change location. Stay where you are. |
|
-E | execute sudo and respect the environment variable set before using export . Useful when you set some variables with export and want to execute sudo with them. |
|
apt-get/apt | install some_app | often with sudo . Install software from known sources. |
update | refresh sources to make them available for future installations. Must be executed after adding repositories or changing configurations. | |
upgrade some_app | upgrade some app. | |
add-apt-repository | ppa:webupd8team/atom | add some ppa repository. After this, run apt(-get) update to refresh the source list. |
pwd | 显示当前工作目录 | |
mount | sudo mount -a | mount all partitions as /etc/fstab indicate. |
sudo mount mount-point target |
mount the filesystem in the mount-point. Mount point may be a directory under /media/username , and target may one of the filesystem under /dev with format like /dev/sda1 and so on. |
|
whoami | 显示你的用户名 | |
blkid | sudo blkid | show blocked partitions and mount points. Must be run with sudo . 可以查看UUID等属性,写入/etc/fstab 文件来进行开机的mount。 |
sudo blkid -L DATA | show mount point of the partition with label "DATA" | |
gsettings set com.canonical.Unity.Launcher launcher-position Bottom | Bottom/Left | Move launcher to the bottom (requires 16.04, Unity 7) |
cp | cp some_file destiny |
copy file to some location |
-i |
ask for confirmation before overriding | |
-r /dir/. /dir2/ |
copy all files under dir , including hidden ones, to /dir2/ . |
|
ldconfig | configure dynamic linker run-time bindings 刷新动态链接库 | |
find | find . -name "xxx" | find a file, recursively with current directory as starting point. . can be another directory. " " is necessary for recursive search. Without " " , is searching only this folder. With " " , if without wildcards, is exact searching. Wildcards are almost always needed to do a good search. |
update-alternatives | --display some_app |
display certain app's link in system variable |
--remove absolute_path |
remove an app's alternative with this path. | |
--install path1 alia path2 priority |
add a link to path1 with the alia and with the priority , of the app in path2 . path2 is a path ending with the linked app, not its parent folder, while path1 is the link, e.g., update-alternatives /usr/bin/java java /usr/local/java7/bin/java 0 installs a link in /usr/bin/java , of name java , with priority 0 (highest), of the executable /usr/local/java7/bin/java . |
|
mv | dir_or_file destination | move some directory or file to another place. |
rm | some_file | delete some file |
-r, -R | delete some directory and all its contained files. | |
xdg-open . /xdg-open file |
open this location in GUI file explorer | |
gnome-open . /nautilus . |
open file in GUI | |
ln | create a link of a target. By default hard links(treated as original file, such as in Git: links are added and commited as the file changes.) | |
-s, --symbolic-link origen target | create a symbolic/soft link. | |
getent group (not groups ) |
get all group names in this machine | |
env |
check all system environment variables | |
rm -rf |
delete a folder even it is not empty. CAUTION! | |
rm -f |
delete a file without confirmation | |
kill , pkill |
kill kills with pid, and pkill with name. -9 is forced termination, may cause inconsistency. -15 is normal termination, allows release of resources. |
kill -15 pid or `pkill -15 name |
Commands | Parameters/examples | Usage |
---|---|---|
vi/vim | 启动vi/vim编辑器。在recovery模式下,只能启动vi而不能启动gedit。在gnome下,输入vi /vim 都会启动vim。 |
|
(cmd) i |
进入文档后按i来进入编辑模式。屏幕下方有提示,replace /insert 表示了插入模式。 |
|
(cmd) :wq /ZZ |
命令模式下使用:wq /ZZ 来保存并退出。 |
|
visudo | 专门用于编辑sudoer文件的vi编辑器。Run with sudo to open the /etc/sudoers file. Ubuntu/Red Hat. |
|
-c |
检查当前/etc/sudoers 文件是否格式正确。 |
|
-q |
打开当前/etc/sudoers 文件进行编辑。更多信息可以参考 http://blog.sina.com.cn/s/blog_45d4d2c40100q70o.html |
Commands | Parameters/examples | Usage |
---|---|---|
dpkg |
.deb package installation/management. For Ubuntu, etc. |
|
-i / --install some_deb_file |
install a package. | |
-r / --remove some_package |
remove a package. | |
-s / --status some_package |
check if some package is installed, and its details. | |
-S / --search some_file |
search a file, and what package includes this file. May find some files with same/similar name, but belonging to different packages. | |
-l / --list some_package |
list some info about this package. Not so many details like -s . |
|
-L / --listfiles some_package |
list all files included in this package. |
Commands | Parameters/examples | Usage |
---|---|---|
grep | option pattern location | search text in files. Binary also. |
-R "some text" /etc/apt/* |
search recursively "some text" in /etc/apt/ . |
samba
is for sharing files: build a server, etc.
https://www.tecmint.com/setup-samba-file-sharing-for-linux-windows-clients/
yum update && yum install samba samba-client samba-common cifs-utils
We add a folder to share, create a group and a user for sharing at system level. So, at last, because we grant rwx
to the owner group, which is share
, and not to other users(because 777
is not safe!), so we must make sure that the user belongs to group share
.
groupadd share # add a group share
useradd win7 # add a user win7
usermod -a -G share win7 # add win7 to group share
mkdir /shareroot # create dir /shareroot
chmod 0770 /shareroot # assign permission to user and group
chgrp share /shareroot # change the group of /shareroot to share
If we have SELinux and Firewall, we must do:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/share(/.*)?"
restorecon /finance
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
Open /etc/samba/smb.conf
, and add this part:
[share] # the name of share
comment=A simple description # whatever
browsable=yes # whether the dir is browseable
path=/shareroot # the dir to share. BETTER CREATE IT UNDER ROOT DIR!!!! to avoid permission problem (I created another under /home/westerngun/share and it doesn't work.)
public=no # if is public, does not need auth
valid users=@share # here @share means group. You can add samba user name like "user1, user2, ..."
writeable=yes
# keep it simple, no more!
After that, run testparm
to test each section of samba config. Press Enter
to get a dump(the parsing result of samba, i.e., how samba understands the file).
smbpasswd -a username
add a user to samba database. The user must be created beforehand. And set password. For example:
smbpasswd -a win7
... (password)
The name should be the same as the newly added user.
At last, restart samba service with:
systemctl restart smb
In linux:
smbclient -L <ip> -U <username>
To mount it, you can do:
mount //ip/shareroot /media/samba/ -o username=win7
, if /media/samba
exists.
To connect from Windows, we can map a net drive, or connect it in the address bar in the file explorer.
Enter "My Computer", choose "Map network drive". Choose a letter, enter the address:
\\192.168.85.128\share
Here we must use the share's name share
, not the dir name shareroot
.
Enter win7
as username and its password, you are done!
If we pass file from windows to samba share, the file belongs to win7
.
https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#USERNAMEMAP
If you want to map Windows user name to Linux user name, you must edit smb.conf
:
[global]
username map = </path/to/some/file>
...
In the file:
<linux_username>=<windows_machine_name\username>
sudo pdbedit -L -v
to list all samba users. Use sudo
.
smbstatus
checks how many shares are and their status.
Use env
to check system environment variables, and look for these two:
XDG_CURRENT_DESKTOP
- Tells you what Windows Manager you are usingGDMSESSION
- Tells you what option you selected from the lightdm greeter to login.https://askubuntu.com/questions/72549/how-to-determine-which-window-manager-is-running#answer-72581
`/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=new-name
Then:
hostname new-name
and reboot.
...and it does not work!
The correct way is:
hostnamectl set-hostname new-name
reboot
Platform | Commands | Usage |
---|---|---|
Redhat | Ctrl+Alt+Shift+r | 录制屏幕为.webm 视频,并保存在/home/username/video/ 文件夹下。 |
Ubuntu | Ctrl+Alt+t | Open terminal. |
Redhat | (any key combination you want) | 在系统设置 - 键盘 - 快捷键中新建一个,名称随便,命令为gnome-terminal ,点击保存后,左击选中的快捷键的右边,并按下你想要的组合键来设置。 |
CentOS | Ctrl+Alt+F5~F7 | 打开命令行界面 |
CentOS | Ctrl+Alt+F1 | 返回图形界面 |
Commands | Parameters/examples | Usage |
---|---|---|
keytool | -list -keystore path [-storetype type ] |
list all root certificates in the keystore. If the keystore type is other than jks , -storetype is needed, for example, -storetype pkcs12 . |
-import -keystore path1 -file path2 |
import root certificates in a .crt file into a keystore. If the file is of .p12 type, will occur an Exception: not x.509 type . |
Note:
p12
keys cannot be imported into java keystore, because it contains both private key and public key, but.crt
only contains public key and can be imported into java keystore directly.
p12
orpks
must be converted to.pem
by OpenSSL, or by Internet Explorer. More info here.When exporting from IE, we can choose
contains private key
and choose a password to protect it. If it has private key, it's exported as.pfx
, if not, as.cer
. When importing, you can also choose to import private key and public key, or only public key. If only the public key is imported, later it can be exported only as.crt
. By default, for security reasons, it's imported only with public key. More info here.
Commands | Parameters/examples | Usage |
---|---|---|
smbstatus | check samba status | |
systemctl reload/restart smb | reload samba config files and restart samba |
full path | What's there |
---|---|
/etc/apt/source.list* | apt-get /apt source list |
/etc/apt/apt.conf | apt-get /apt config files. Proxy can be set here. |
/etc/ssl/certs/ | ca-certificate and all the other certificates |
/etc/samba/smb.conf | samba config files |
/etc/group | local file system groups, not including LDAP, Yellow Page, etc. |