Newly Blog


  • Home

  • Tags

  • Categories

  • Archives

  • Search

Ubuntu Command Lines

Posted on 2022-06-16 | In OS

Here is a website link to query linux commands.


  1. create new user with home folder

    1
    adduser XXX
  2. sudo privilege: vim /etc/sudoers and add $username ALL=(ALL) ALL at the bottom.

  3. start ssh on the server, the default port is 22

    1
    2
    sudo apt-get install openssh-server
    sudo/etc/init.d/ssh start
  4. list

    1
    2
    3
    list -a #including hidden files
    list -S #arrange by size
    list -t #arrange by time
  5. view text

    1
    2
    3
    cat
    head/tail -n 10 tmp.txt #view the first/last 10 lines
    less #more powerful than more
  6. Change the privilege

    1
    2
    chmod 777 ./
    chmod a+x ./
  7. Check disk or file size

    1
    2
    df -h 
    du ./ --max-depth 2 -h
  8. Compress or uncompress files, refer to this link.

  9. Grep + regular expression

    1
    grep [xyz]
  10. Search file

    1
    2
    3
    4
    5
    locate "keyword" #fast
    find ./ -maxdepth 1 -name "*keyword*"
    find ./ -name "*keyword*" -size +50M -size -100M
    find ./ -name "*keyword*" -mmin -10 #m:modify min:minute
    find ./ -name "*keyword*" -exec rm -r {} \;
  11. Pipe commands

    1
    2
    3
    ls -l | tr -s ' ' | cut -d ' ' -f 2 #tr to truncate space
    ls -l | sort -rnk2 #-r:reverse -n:numerical -k:k-th column
    ls -l | wc -l #count line
  12. xargs:

    1
    2
    3
    cat python/requirements.txt | xargs -L 1 sudo pip install
    find . -name "*.c" | xargs rm -rf
    find . -name '*.c' | xargs grep 'stdlib.h'
  13. alias: temporary alias command

    1
    2
    alias lnew="cd /home/niuli/caffe"
    unalias lnew
  14. export: The export command is one of the bash shell built-in commands, which means it is part of your shell.

    1
    2
    3
    4
    5
    6
    export a=linux.com
    echo $a
    export -n a #remove variable

    printname () { echo "Linuxcareer.com"; }
    export -f printname #export function

    add LD_LIBRARY_PATH

    1
    2
    echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib' >> ~/.bashrc
    source ~/.bashrc
  15. shellscript sample

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #!/bin/bash
    read -p "Please input your first name: "
    echo -e "\nYour full name is: $firstname $lastname"
    test ! -e $filename && echo "The filename '$filename' DO NOT exist" && exit 0
    test -f $filename && filetype="regulare file"
    test -d $filename && filetype="directory"
    [ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK, continue" && exit 0

    if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
    echo "OK, continue"
    elif [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
    echo "Oh, interrupt!"
    else
    echo "I don't know what your choice is"
    fi

    while [ "$yn" != "yes" -a "$yn" != "YES" ]
    do
    read -p "Please input yes/YES to stop this program: " yn
    done

    for animal in dog cat elephant
    do
    echo "There are ${animal}s.... "
    done

Windows Command Lines

Posted on 2022-06-16 | In OS
  1. zip/unzip

    winrar x -y -ibck zip_file_name unzip_file_name //x means unzip, -y means yes to interrupted queries, -ibck means running in the background

  2. generate the file list under one folder

    dir D:\test /b >list.txt or dir D:\test /b >list.xls

  3. combine multiple compressed volumes

    copy /b logs.tar.gza* logs.tar.gz

Install Ubuntu under Windows

Posted on 2022-06-16 | In OS

First check whether the file system is MBR+BIOS or GPT+UEFI. Nowadays, most computers are GPT+UEFI, so we only talk about GPT+UEFI here.

  1. Download Ubuntu iso and make a U-installer using rufus. When using rufus, notice the option of GPT+UEFI.

  2. Start the computer from U-installer. The most important thing is making a proper partition for Ubuntu. At least make three partitions: / (ext4), swap (2G), reserved for UEFI (1G). If necessary, make another partition /home. Note that ubuntu UEFI should be on the same disk as Windows UEFI.

BIOS

Posted on 2022-06-16 | In OS

If something is wrong when attempting to enter the BIOS, try the following approaches:

  • press F2, F12, ESC, DEL
  • change the cable, adaptor, interface, etc (hardware reason)
  • update BIOS to the latest version
  • for Windows10, settings->recover->firmware
  • close fast-boot option in the operation system because fast-boot may directly skip the BIOS stage

Ubuntu SSH

Posted on 2022-06-16 | In OS

Sometimes Ubuntu fails to connect VPN. Open the PPTP advanced options, uncheck EAP and check MPPE.

Ubuntu VNC

Posted on 2022-06-16 | In OS

Server:

  1. Install VNC server under Ubuntu: $sudo apt-get install vnc4server

  2. Configure the VNC server, $vi ~/.vnc/xstartup
    change the style to gnome-session & in the last line.

  3. start the VNC server: $vncserver

Client:

  1. Install VNC client under Windows: use http:\IP:580$ID to log in.

Tips: For 10060 error, run $iptables -F to close firewall.

Ubuntu SSH

Posted on 2022-06-16 | In OS

Server:

  1. run $sudo apt-get install openssh-server

  2. run $ps -A |grep ssh.
    If there is sshd, then ssh-server has been started,
    else run $sudo /etc/init.d/ssh start to start ssh-server.

Tips: To stop ssh-server, execute $sudo /etc/init.d/ssh stop.
To modify the configuration, edit /etc/ssh/sshd_config.

Client:

ssh-client is usually already installed. If not, run
$sudo apt-get install openssh-client.

After installing ssh-client, run $ssh username@192.168.1.112.

Remote Folder Mount

Posted on 2022-06-16 | In network

Mount Linux folder under Linux

1
2
sudo apt-get install cifs-utils
sudo mount -t cifs -o username=XXX,password=XXX //10.70.1.82/src_dir tgt_dir

Mount Windows folder under Windows

add network device

Mount Linux folder under Windows


  1. Install Dokan and WinSSHFS: for Win10, recommend 1.6.1.13 win-sshfs and 1.0.3 Dokan.

  2. Open WinSSHFS, fill in the drive name, host, port, username, password, directory. The other entries can be left blank.

Remote Desktop Connection

Posted on 2022-06-16 | In network

Remote Connect to Ubuntu in Windows


a) cmdline: putty, secureCRT

b) window:

xrdp: http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html

1
2
3
4
5
sudo apt-get install xrdp
sudo apt-get install vnc4server
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession
sudo service xrdp restart

xrdp mm process login response login failed
When this error occurs, try the following methods, followed by “sudo service xrdp restart”.

  1. delete vnc processes

    1
    2
    ps -ef | grep vnc
    kill -9 XXX
  2. delete X sessions, .xrdp, .X11-unix, .X0-20

    1
    cd /tmp && ls -a
  3. modify “MaxSessions” number

     sudo vim /etc/xrdp/sesman.ini
    

kinit

Posted on 2022-06-16 | In network

Credential ticket for principles without need to type in password, from MIT Kerberos.
A ticket has ticket lifetime and renewable lifetime.
Ticket lifetime is shorter than renewable lifetime.
For liniu@ANT.AMAZON.COM, the default ticket lifetime is 10h (resp., 6h40m) when using kinit -l (resp., -r), why?

From KDC server side:

  1. modify the max_life in /etc/krb5kdc/kdc.conf and restart the KDC daemon /var/kerberos/krb5kdc/kdc.conf
  2. Via “kadmin”, changed the “maxlife” for a test principal via “modprinc -maxlife 14hours “

From Kerberos client side:
modify in /etc/krb5.conf

In fact, the ticket lifetime is the minimum of the following values:

  • max_life in kdc.conf on the KDC servers.

  • ticket_lifetime in krb5.conf on the client machine.

  • maxlife for the user principal.

  • maxlife for the service principal “krbtgt/[REALM_in_CAPS]”

  • requested lifetime in the ticket request. For example: kinit -l 14h

  • maxlife for the AFS service principal “afs/[realm_in_lower_case]”, if you want to increase the lifetime of your AFS token.

commonly used commands:

1
2
klist
kdestroy

An example:

Ticket cache: FILE:/tmp/krb5cc_4126574_GM19Ct
Default principal: liniu@ANT.AMAZON.COM

Valid starting Expires Service principal
08/18/16 08:13:20 08/18/16 18:13:20 krbtgt/ANT.AMAZON.COM@ANT.AMAZON.COM

time format is like 4d5h30m

1
2
3
4
5
6
kinit -l lifetime //request a ticket with ticket lifetime of lifetime
-r renewable-life //request renewable ticket with a total lifetime of renewable-life
//I'm still unclear about the difference between -l and -r
-f //forwardable
-F //non-forwardable
-R //requests renewal of the ticket-granting ticket. No need for password but must be within ticket lifetime instead of renewable lifetime.

Automatically renew tickets: Since you need to renew a ticket before its ticket lifetime expires, the easiest way to renew tickets is to put it in a cron job since renewing a ticket is non-interactive.

Run ‘crontab -e’ to edit the file in /var/spool/cron/. Use ‘crontab -l’ to see the file.

1
2
3
4
5
6
7
8
9
# Renew the kerberos ticket every 8 hours, this will extend the lifetime of 
# the ticket until the renew lifetime expiers, after that this command will
# fail to renew the ticket and you will need to interactively
# run `kinit -f -l 86400 -r 2592000`
#
# minute hour day_of_month month weekday command
59 00,08,16 * * * /usr/kerberos/bin/kinit -R
//59 minute, 0 or 8 or 16 o'clock, any, any, any, the command to be executed is '/usr/kerberos/bin/kinit -R'
//some short notations: 1-3 means 1,2,3; */15 means every 15

Key Notes:

  1. do not use sudo kinit

  2. when no credential ticket can be found, add -c $KRB5CCNAME, where KRB5CCNAME is the environment variable recording the path of credential ticket.

1…91011…24
Li Niu

Li Niu

239 posts
18 categories
114 tags
Homepage GitHub Linkedin
© 2025 Li Niu
Powered by Hexo
|
Theme — NexT.Mist v5.1.4